Jobs responds to outrage over MacBook's missing FireWire - <AUTHOR> http://www.appleinsider.com/articles/08/10/16/jobs_responds_to_outrage_over_macbooks_missing_firewire.html

<comment><USER2> This is just a small-scale repetition of the utter freakout that happened when they went with Intel CPUs. It's the flipside of the religious mania that Apple produces in its customers. A distinguishing technical feature (PowerPC, FireWire) is taken in by the acolyte and interpreted not simply as a difference, but as a _fundamental_ difference between the wonderful Apple stuff and the junk in the rest of the world. The fact that CPUs and high speed peripheral interconnect standards are more or less interchangeable in the modern world gets lost in the mix.

<comment><USER3> I'm not sure I'd characterize the switch to Intel as an "utter freakout" -- my impression is that the doubters quieted down fairly fast once they got a look at the demos of the compatibility layer and the relative ease of cross- compiling. And while the switch to Intel now looks like a no-brainer, hindsight is always 20-20. That said, I'll agree -- to the extent that people freaked out about the Intel transition, it might be fair to call it an example of "religious mania".

But complaints about Firewire aren't about religion. Firewire and USB 2.0 are only "interchangeable" _if you don't already own thousands of dollars' worth of Firewire-only peripherals_. Which quite a few people do.

Yes, there are probably converters out there somewhere, or there will be. But will they affect latency? Will they affect driver stability? The owners of $1200 audio interfaces worry about such things. A lot.

Of course, this is not yet the end of the world. As the article points out, Apple still offers Firewire on the MacBook Pro. Moreover, they are _still selling_ machines like my white Macbook, with Firewire, _for less money_ than the new Macbooks. So it's not as if Firewire is being phased out tomorrow. But I don't blame customers for pushing back. If people can convince Apple to keep Firewire around for an additional year, that's one more year that I don't have to spend several hundred bucks to replace my Firewire-based audio interface and hard drive enclosures.

<comment><USER4> The owners of $1200 audio interfaces should probably consider getting a Macbook Pro. The Macbook line is apparently not targeted at people that need professional audio equipment. Some people didn't seem to understand that and it looks like Apple wanted to make it more clear.

</comment></comment></comment><comment><USER5> Target disk mode saved my ass just last night.

But I'm all for progress. Also, if you consider the waste that went into fitting almost every single mac since 1999 with unused firewire ports, it makes you cringe.

If you have a pro audio interface or pro camcorder, you probably want a macbook pro anyway (just a shame they don't do one in 13")

<comment><USER6> Target Disk Mode is indeed an awesome feature of every Mac with Firewire since ~2000.

Someone should hack together a "USB Target Disk Mode" live-CD based on Linux or something. Surely it's possible.

Or not? I'm not to familiar with the USB protocol, but isn't there a distinction between hosts and devices, hence the asymmetry of USB cables? (unlike Firewire)

<comment><USER7> It would be trivial to beat the 400/480/800mbit of FW/USB/FW800 with a LiveCD, and all of the pieces are more or less already there. Use the Gig-E wired ethernet connection.

</comment></comment></comment><comment><USER8> I think this was a necessary transition for Macs to take. There is no reason to have so many different ports serving the same purpose. You can do everything with USB 2.0 that you can do with Firewire. USB has essentially won the war, supporting Firewire would just perpetuate this unnecessary battle even longer. In the long run, this is better for the consumer.

<comment><USER9> The only thing I use FireWire for, Target Disk Mode, cannot be done with USB. This omission has made the new MacBooks a lot less appealing.

<comment><USER10> An alternative is to use an ethernet cross-over cable and just use standard file transfer methods.

Or perhaps someone will write an os x driver to take advantage of usb-usb (aka usb bridge / networking) cables that work for PCs.

[http://en.kioskea.net/faq/sujet-345-how-to-connect-two- compu...](http://en.kioskea.net/faq/sujet-345-how-to-connect-two-computers- with-a-usb-cable)

The advantage of these solutions is that you can work with other non mac os x computers.

<comment><USER11> Sorry - how exactly do you mount the disk of an unbootable Mac on another machine, via an Ethernet cable?

<comment><USER7> The protocol you'd use is iSCSI. You could hack this together with commercial iSCSI initiators on the working machine, and some kind of LiveCD target, but Apple would need to release an initiator in OSX to make it slick and easy. There is one for Windows, Linux, and the BSDs, and Solaris, so asking for this feature in OSX doesn't seem entirely unreasonable.

<comment><USER12> look up openfiler

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

put that on a boot cd and you're all set.

</comment></comment></comment></comment></comment></comment><comment><USER13> It's hard to get everything right.

Apple has messed up a few times (firewire and the mini slot on the macbook pros that were never used). But overall, they make great machines.

<comment><USER14> I don't think taking out firewire would be a mess up. I am pretty sure quite a bit of thought went into this decision. Apple brings changes into its products quite slowly. I am not surprised at all that Apple is letting firewire go.

<comment><USER13> Totally agree. I meant putting it in might have been a mess up.

Apple was really pushing firewire hard with the early generation iPods. If I recall correctly, they only accepted firewire. I don't think that worked out too well, because they eventually accepted USB as well.

</comment></comment></comment><comment><USER15> if Apple had added an additional USB 2.0 port, that would have been better, than just removing the Firewire port altogether and leaving just two USB 2.0 ports. I would need a hub if I were to upgrade to this MacBook, which now I don't plan to do. I'll just be using my Dec '06 MacBook for a few more years I guess, which isn't really a bad thing either as it is a very nice Mac indeed.

<comment><USER16> The less ports the better. Ports look ugly. If you have that many peripherals that need to be attached at the same time, a hub is probably best.</comment></comment>


Show HN: Dependabot – automated dependency updates for Ruby and JavaScript - <AUTHOR> <comment><USER2> where is your link?</comment>


Why Science Does Not Disprove God - <AUTHOR> http://time.com/77676/why-science-does-not-disprove-god/

<comment><USER2> [http://en.wikipedia.org/wiki/Philosophic_burden_of_proof](http://en.wikipedia.org/wiki/Philosophic_burden_of_proof)</comment>


On Care for Our Common Home - <AUTHOR> https://johncarlosbaez.wordpress.com/2015/06/19/on-care-for-our-common-home/

<comment><USER2> >>I will try to dodge the explicitly Christian bits, because I really don't want people arguing about religion on this blog

Well then don't discuss an encyclical by the antipope. [https://www.youtube.com/watch?v=uq4GMuYhevc](https://www.youtube.com/watch?v=uq4GMuYhevc)</comment>


Why Won't You Answer My Question? - <AUTHOR> http://rion.io/2017/02/09/why-wont-you-answer-my-question/ <comment><USER2> Haha, yeah go ahead and try to fight this battle. You'll lose.

I'm constantly baffled by bug reports I receive. From other people who work at my company. A tech company. A large one. You've heard of it.

We log every operation in our API. I cache errors, and the API returns a JSON formatted error with a GUID that correlates to the operation that failed, so if I have a GUID I can look at exactly what happened every step of the way, and what went wrong, in the logs.

Most of the time, all I need to fix a bug or tell you why you're having a problem is the GUID from the error message. You don't even need to ASK a question. I log _stack traces_ of any exceptions that occur so our logs are almost as good as running the software through a debugger.

The bug reports I'd expect and want?

      "Hey, I got this error message that I copy/pasted below...can you tell me what's going on?"

      <two line error message>

I have NEVER gotten that bug report. The bug reports I get?

      "Hey I think your system is down."

      "Is something wrong with your system?"

      "I tried to do something and got an error. Is something wrong? No, I don't know what the error was."

      "We're getting this weird error when we try X. I dunno, it was just weird. It works now though."

      "I think the data you're returning is wrong."

Or my favorite:

"Hey, we've been discussing this issue we've had with <upstream system> that depends on your system. We assumed your system has been down for the last couple of days and have been blaming your team in email threads you're not on because <upstream system> isn't working. Nobody told you or your team. When is your system going to be fixed? No we don't have any examples or any record of error messages from your system."

(Resolution: problem is bug in <upstream system>)

<comment><USER3> Oh god yes. I don't understand why it's so hard for people to report a bug.

I don't think other fields suffer from this as much.

No one goes to the doctor and says:

      - I don't feel good
      - What are your symptoms?
      - I don't know, I just feel bad.

It's usually in the form of: "I have a sore throats and running a fever, it began x days ago", etc

What is it about computers that makes people throw their hands in air and say, I don't know, I just doesn't work.

They are smart people, and yet it's beyond them to think that, in order to fix it, the other person must at least know what's wrong in the first place.

<comment><USER4> One thing that is also frustrating is apparently intelligent people (even software engineers, while writing code) who see a stack trace and their mind goes blank. They then send you an error report saying 'I set X to 4 in my code and got this exception, here is the stack trace - what's wrong, and how do I fix it?' followed by something like:

        WrongNumberException: Please use the
        number three instead of four when
        setting x
          io.number.NumberChecker.java:123

Of course many error messages are completely inscrutable, but it seems nobody reads any of them, parsing it as 'computer says complicated thing' or similar...?

<comment><USER5> Not to exclude the X factor, but presentation matters. I think vomiting exceptions, stack traces, or error codes in text makes people not care. Not just a layman, but an expert, too.

<comment><USER6> This is very true. A verbose log is incredibly helpful to someone who can read them, but if you are unfamiliar with the format, or find bits that you cannot interpret, then it all starts to look like noise.

It reminds me of my cousin, who is a ranger in a national park, when she says something like: "Oh, the deer have been here!" whilst pointing to a patch of ground which looks totally indistinguishable from all the other patches of ground which presumably do not show traces of deer.

Your brain gets trained to see subtle changes only after several exposures to meaning. Joel Spolsky had a similar scenario where the bread making machines looked clean to a trained eye, but not to an untrained one.

</comment></comment></comment></comment></comment><comment><USER7> This problem of people asking bad questions has been around a long time. A really long time.

Here's a resource to deal with it:

[https://www.mikeash.com/getting_answers.html](https://www.mikeash.com/getting_answers.html)

Here's another, somewhat harsher version that preceded that:

[http://www.catb.org/esr/faqs/smart- questions.html](http://www.catb.org/esr/faqs/smart-questions.html)

These were discussed on the C2 wiki a _long_ time ago:

[http://wiki.c2.com/?HowToAskQuestionsTheSmartWay](http://wiki.c2.com/?HowToAskQuestionsTheSmartWay)

But the issues remain - people are sometimes lazy, sometimes asses, sometimes jerks, and often suffer from learned helplessness.[0] In each case, answering their question is not always the right thing to do.

[0] [https://en.wikipedia.org/wiki/Learned_helplessness](https://en.wikipedia.org/wiki/Learned_helplessness)

<comment><USER8> I admire anyone who has the patience to answer questions on places like Stack Overflow or mailing lists. I don't have that particular helping gene. I'll help you move, though.

<comment><USER9> I had when I was a teenager; I'd spend endless hours explaining C++ to people on Internet forums. It was a kind of pastime for me.

Somehow, I've lost most of that "helping gene" over the years. I'll still happily explain things to people, but I don't look for occasions to explain stuff on purpose anymore.

<comment><USER10> For me it has a few factors: I learn, memorize, and internalize through argument and learning to explain things to others. Eventually my skill ceiling rises in a topic where this no longer applies much. But, if I can spend 5 seconds to save someone 5 hours, I'm likely to help unless I _thoroughly_ dislike the person - it's just too high of a positive impact. With my peers, I'll accept much worse ratios (e.g. spend 1 hour to save you 2) under the vague unstated assumption that you'd do the same for me, or it'll help accomplish our common goal faster. And in the special case of helping people with research and problem solving skills, it'll sometimes make people less annoying :)

</comment></comment></comment></comment><comment><USER11> Doing open source in my free time, I've found solace in realizing what is worse than getting barrage of unresearched, silly, or perhaps bad questions:

Getting no questions at all.

This means that nobody is using your project, and that makes me feel defeated far more than having person ask me why he uploaded my project's python files to public_html on his $2 shared hosting, and no app is showing up in his browser.

<comment><USER12> was so excited to get my first github issue!

</comment></comment><comment><USER13> ... and if you do heed the advice of the OP, and post a well-considered question on stackoverflow, researched to the best of your ability, you will often get back a withering dismissal from some asshole who has taken it upon himself to police against "bad questions".

<comment><USER14> Yep, and worse, closed as a duplicate to a question that's only vaguely related, with no relevant answer ;)

</comment></comment><comment><USER13> What we have here is literally a 21-point checklist that someone needs to go through before deigning to ask a question so as not to piss off the IT guy. We've all seen it before, hundreds of times, stackoverflow has made asking a question into a sacrament, yes, with the same level of sanctimony.

Perhaps that's not working? Perhaps its time to consider other approaches especially since complaints with such detailed advice for resolution ARE NOT READ by the people that actually need to read them? How is sharing this on HN REALLY going to help people ask better questions?

Many tech people fail to understand that having knowledge and giving knowledge are two distinct things. Just because you know something in great detail and can practice it with fantastic skill, doesn't mean you're able to answer basic questions about it or teach anyone to do the same. The problem is not just "asking the right question" but also the skill of "giving the right answer".

To a large extent this territory is covered well by teachers of all kinds. Pedagogy itself takes practice. I wonder if anyone has written a blog post with a 21 point checklist on how to ANSWER questions?

</comment><comment><USER15> A variant of rubber-duck debugging: Ask the question and hit Send. Invariably, no matter how long I've thought about it, the obvious answer will occur to me minutes (or seconds) after I've embarrassed myself my asking. (is there a term for this?)

<comment><USER16> L'esprit de l'escalier debugging?

</comment></comment><comment><USER17> In one rare case of my project, there is a person that bombards every single one of the project's social channels daily (Facebook, multiple Slack channels, DMs) with the same question: "how do i do this? <link to some website>". Asking questions is fine, but there's a point where they can be taking hundreds of people's time (even for a second).

I try to shepherd to StackOverflow asking for at least a code sample and some attempt at implementation where I am happy to answer. I've also done interventions with the offending person. But at least, no avail, it continues. They go to the local communities of other countries on Facebook and ask the same question, often in all caps.

I am trying to write a full guide and example on "how to do X", but these cases are very testing.

<comment><USER18> Are you sure that's not spam?

</comment></comment><comment><USER19> Part of the problem is that the best advice sounds aggressive or rude. What I'm thinking of is from bugzilla:

        1. what did you do?
        2. what did you get?
        3. what did you expect?

It's very hard to couch this politely enough for colleagues to take it on without a sense of resentment.

<comment><USER20> Those points _are_ polite.

If people get resentful when you ask for data, the solution is to have a discussion about their poor attitude.

Most large companies I've been at are _terrible_ at this. They want "professionalism", which tends to mean "superficially polite, even if the questions are utterly retarded". They don't like "unprofessional" behavior, which tends to mean "you got frustrated that someone else wasn't doing his job".

The effect is that management pushed people to be incompetent, in the guise of "getting along". The competent technical people tend to leave such organizations.

<comment><USER19> > Those points are polite.

I know what you mean and I agree but unfortunately most people don't.

<comment><USER21> Mm, I've never had a problem asking those 3 questions of any non-technical person that comes to me for help. Whether it's perceived as polite or not is entirely contained in the tone. You can say that exact terse statements very politely or very rudely or anywhere in between.

I'm somewhat privileged to have had a 20 year career in mostly competent workplaces, and I understand that in some places where engineers are held in low regard that you might get a lot of "stop asking questions and fix the damn problem already", but it never hurts to cultivate a pleasant disposition in the workplace.

</comment></comment></comment></comment><comment><USER22> Makes me wonder if there's an opportunity here. Some service where you can actually pay money up front to guarantee an answer to your question, regardless of how it's worded and expect it done within a short time frame. Kind of like the Stack Exchange sites, except for people with more money than patience.

Practically speaking though, my advice for people stuck on something like this is (in addition to doing some actual research and wording your question correctly) to not ask on question and answer sites at all. Stack Overflow is nice and all (especially when looking up answers to already answered questions), but I tend to get a lot more useful responses from forums and subreddits. Perhaps because people there tend not to get so high strung over idiocy.

<comment><USER23> You are going to get in situations where the "answer" brings up a topic like the "halting problem". The asker might not be satisfied with that.

Or what if the asker has a misunderstanding of computer architecture? "Help, my multithreaded program is crashing!"

<comment><USER22> That's a good point, and there will definitely be issues with question askers not knowing how a system works or how the person answering is explaining the solution to their problem.

However, it's also the kind of thing tech support has to deal with every day to begin with. I mean, your web host likely gets tons of ridiculous questions through their support ticket system. They just have to go back and forth a ton of times until either both sides can reach an understanding or the person asking just gives up.

Honestly, I don't have an answer here. Not sure there even is a good one, given how it's the same problem every company struggles with when customer support is involved.

</comment></comment></comment><comment><USER24> From personal experience, telling tech support too little about an error will result in no solution. Being able to tell them too much, oddly, often results in the same.

<comment><USER25> I think that's kind of the core of the issue. When faced with a problem, in general, it can produce a kind of knee-jerk/panicked reaction.

To come up with a good question requires some level-headed thinking. Give too little information and it's hard to get help. Give too much, and you're either leading support down the wrong path or overwhelming them with useless data (which, somehow, annoys me when people do it to me, which doesn't help).

But because our mind is in agitation/panic mode, we just randomly try stuff, including thoughtless cries for help.

What I find interesting is that I'm just as susceptible to this when it comes to issues with my own work. I've been doing this for quite a while now, and yet I still regularly either thoughtlessly play whack-a-mole with a bug, or alternatively go down some obscure rabbit-hole of searching for answers. Very often in both cases the problem would've been easily solved with a clear head and a methodic approach (no matter which approach, really).

Hell, that's the whole reason 'rubber duck debugging' is a thing and so effective!

I'd say all this applies equally to things like conflicts or relationship issues. So many problems I've had over the years with people just melted away once both parties bothered to stop and think about how they communicate, or even just deciding what the actual problem is. But of course that's the last thing you do in a state of agitation.

</comment></comment><comment><USER26> But I guess that somewhere a line must be drawn, there is a difference between a "common user" and a "software engineer", and as well some differences between people that try to help strangers on "third party" issues for free and a developer supporting his/her (paying) customers or debugging his/her company internal issues.

A good page about the proper way to ask questions/reporting problems on the internet is (was) here (among many other good FGA's), to avoid the common "I'm ill, doctor. Help!" effect:

[https://web-beta.archive.org/web/20160520121511/http://homep...](https://web- beta.archive.org/web/20160520121511/http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/)

[https://web-beta.archive.org/web/20160604095422/http://homep...](https://web- beta.archive.org/web/20160604095422/http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/problem- report-standard-litany.html)

</comment><comment><USER27> That page return 500 error. Here is archive [https://web.archive.org/web/20170215034605/http://rion.io/20...](https://web.archive.org/web/20170215034605/http://rion.io/2017/02/09/why- wont-you-answer-my-question/)

</comment><comment><USER28> I used to do a lot of searching the Internet for a solution to a problem I ran into while coding and then I ended up having a bunch of web-links to fixes I didn't write. I got annoyed with myself about this.

Instead of searching the Internet I started really get to know the API and libraries of the languages I used and I got good books on the topics of software I develop. I slowly moved away from searching the Internet for a solution to using the books and delved into the language API. I now feel I've a deeper knowledge of the languages I work with and the techniques used to solve problems in my field.

Now when time is against me and I need a quick answer to a problem I search the Internet for an existing answer.

</comment><comment><USER29> I haven't taken much CS, but I took a class on computationally intensive statistics. It changed my life, because every week I was assigned to do things that we hardly covered in class. I felt so lost for while, until I got the hang of the stuff described in this post. It's really empowering. The only constraint becomes time, not intelligence.

I always find it sad when people are impressed that I "can program." Not only because people tend to think of it as binary when it's not, but because they think programming, like math, is the exclusive domain of people with certain inherent qualities.

</comment><comment><USER30> To add to the Google point, it makes a big difference to add some double- quotes around the multi-word phrases that belong together (especially when most of your issue is made up of common English words).

Part of the entitlement problem does not seem to be limited to development. There's a lot of overlap with the way people are being treated in retail, for example. What the _hell_ is it about "I am trying to help you" that just makes some people turn into tyrants and treat helpers like part of the problem?

</comment><comment><USER31> I sometimes use a variant of rubber duck debugging. Two projects I have been responsible for started by me taking over from a contractor who was on-call to resolve issues. I would start an email to him describing the problems and asking good questions. More often as my understanding of the systems progressed the emails would not get sent since the act of explaining it to someone I _knew_ could fix the problem led me to understand the error.

</comment><comment><USER32> Yet more whining about questions.

If the questions come by email, delete the email. Not a difficult operation.

If you encounter stupid questions due to your participation in a website, stop visiting that website, or stop answering questions on the website. Not a difficult operation.

The people who write long screeds about answering/asking questions are all masochists.

</comment><comment><USER33> Help-me zombies can't be reasoned with, or helped.

They don't have brains, and want to eat yours.

"HELP ME" "HELLLLLLLPPPPPP MEEEEEEE"

they screech in the title of their emails and forum posts

Don't be fooled. There is no helping them.

Pardon my humor. I do my share of helping, and seeking of help.

<comment><USER34> I don't know if that's true, but it certainly feels that way - some people seem to be unable to ever learn how to ask for help. I don't know the reasons, be it laziness, low IQ, other character traits, learned and ingrained attitudes, whatever - but they are extremely resistant to any kind of education on how to solve problems (and asking for help is one of the skills included in problem-solving). For such people the term "help-me zombie" is quite fitting, I feel.</comment></comment>


Mesmerising Science: The Franklin Commission and the Modern Clinical Trial - <AUTHOR> https://publicdomainreview.org/2018/11/20/mesmerising-science-the-franklin-commission-and-the-modern-clinical-trial/ <comment><USER2> > Unlike the occultists of the previous ages, Mesmer was striving to give his > practices a rational scientific as opposed to a religious flavour. Indeed, > although the magnetic fluid part did not work out, _in an important sense, > animal magnetism marked the beginnings of hypnosis and psychological > suggestion._ (emphasis added)

The preeminent hypnotist of the modern era was Milton H. Erickson [0], who moved to Phoenix for the climate.

Dr. Erickson had come down with the polio at 17 years old, and spent a year+ in an iron lung in the family's kitchen. He overheard the doctors tell his mother that he was done for, which "lit a fire" that enabled him to recover and thrive. He never fully recovered from Polio (e.g. pain was a constant experience), but he lived to be 78 years old.

A few years ago on a Saturday, the local NPR station had an announcement about the premiere of _Wizard of the Desert_ [1][2], a documentary produced by the Milton H. Erickson Foundation. I found it to be very well done.

[0] [https://en.wikipedia.org/wiki/Milton_H._Erickson](https://en.wikipedia.org/wiki/Milton_H._Erickson)

[1] [https://www.mondodigital.net/wizard/](https://www.mondodigital.net/wizard/) (autoplay video)

[2] [https://www.youtube.com/watch?v=-_YMCHDzLm4](https://www.youtube.com/watch?v=-_YMCHDzLm4)

I later had a session with one of the professionals on this Foundation's list of Phoenix-area practitioners. He saw right through me, and brought what I was actually doing to my attention, in exactly a way that was helpful. "oh my, that's no good..."

Sigmund Freud's psycho-analysis/psycho-therapy is basically where people talk about their problems trying to get "insight". There's certainly some value in having someone to bounce your problems off of, but people commonly spend years working on the same problem without getting anywhere. (Freud started out using hypnosis [3], but found the results to be inconsistent...)

[3] [https://en.wikipedia.org/wiki/Sigmund_Freud#Development_of_p...](https://en.wikipedia.org/wiki/Sigmund_Freud#Development_of_psychoanalysis)

Effective ways to help people help themselves has made a lot of progress from the Freudian days. Ericksonian Hypnosis and other forms of rapid/brief therapy is more likely to quickly help people than plain old "psychoanlysis", because the therapist listens and helps the client find resources within themselves to solve their own problems. Aspects of Milton Erickson's insights are certain to be found in all the best therapists' practices.</comment>


How do you find the right biz-dev oriented cofounder - <AUTHOR>

This is the reverse problem - it's built and it's awesome and you have users. Suppose you are passionate about an app or platform you built, but can't figure out how to expand it into a (profitable) business.<p>You're all tech and you've built a product, but you are new at things such as business legalities, patents, customer expansion, long-term strategy, etc. How do you find the right business cofounder? <comment><USER2> Finding the right person to work with is always a challenge whether they are business or tech-oriented.

For myself, I would start with my immediate networks to see if there's anyone that I know who will put the effort in with the reward further out. They have to be as equally passionate as you are and be willing to debate/disagree when it's crucial. You'll also have to keep an eye on their background and keep tabs on their actions - as ceekay pointed out, many people talk but not many do.

It's possible to look outside your network as well so you could try all kinds of meetups, social events, demo days, etc. Or scope people out on LinkedIn.

The key is to finding someone you can trust and someone who's also as passionate as you are.

I'd be happy to help you out if you need short-term business dev advice. My email should be in my profile. Cheers!

</comment><comment><USER3> 1\. Don't look for a "cofounder". Look for someone who can work with you and find a way to compensate him fairly. IF he performs and willing to jump, then think about cofounder. 2\. Reach out to as many people as you can on LinkedIn that you think may be fit, tell them what you're doing, and ask if they want to help. IF they try to sell themselves and talk comp first, IGNORE. IF they roll up their sleeves and get things going, continue. 3\. The only way you'll know is to try a few of them out. Not easy, but no other choice.

Also: IMO Hungry horses are better than fat elephants. So don't fall for experience / branding / whatnot.

Feel free to email me (email id in profile) for more specifics.

</comment><comment><USER4> I have a similar problem. I build out working MVP's, but hate going the last 10% and turning it into a company. The one time I did join up with a business oriented co-founder, he turned out to be a charlatan who is great at talking but not at doing, and my startup fell apart. At this point, I'm not sure if it's worth the bother, unless you already know someone who you fully trust, who is available and interested in joining you.

</comment><comment><USER5> We're in a similar boat with www.giftgaming.com

Have clients, users, etc. Need to find the right partner / bizdev person.

I think the comments I've read here are good advice -- people who jump straight into compensation and remuneration are probs in it just for the cash. As you're not guaranteed to always have cash, ask yourself if you see that person sticking around when things look gloomy...

</comment><comment><USER6> Quick suggestion: add more information about what you are working on as well as a way to get in touch with you. HN might have the people for which you are looking.

</comment><comment><USER7> Wouldn't an incubator or accelerator be one (but not the only) alternative to explore? They may be able to assist.

<comment><AUTHOR> I'm pessimistic enough to think that nowadays, due to social requirements for the saturated startup scene, that classic story of a single tech founder being matched with their biz cofounder via joining an incubator/accelerator is merely a myth of bygone days.

<comment><USER7> If you are currently unable to find a business development co-founder, and you are asking for assistance to find potential candidates, a goal-oriented environment or social mixer(s) sponsored by an accelerator/incubator may bear fruit regardless of whether you actually apply or go through with a program.

In other words, I'm thinking more of the peripheral social benefits (where "social" here means "expose oneself to possible business development co- founder candidates") than the actual programs themselves. Since it doesn't sound like you are sure what traits to look for, even if such a course of action doesn't turn up a good candidate, one hopes that you'll end up with a better idea at the end of the process; possibly worth putting aside the pessimism.

If you're feeling plucky or feel the opportunity cost of the search will be too great to bear due to a massive loss of momentum, you will probably need to try it alone for now to get a feel for the exact skillset a candidate could bring to the table.</comment></comment></comment>


Which web development framework has largest and active community?  - deepak-kumar

Hi, We are interested in knowing that which of the following frameworks has largest and active community before we start on big project. It ll help us choose the right technology. (Out of these 3)
1) ROR (Ruby on Rails)
2) Symfony2 (PHP framework)
3) Django (Python framework)
4) Others (Please mention in comments) <comment><AUTHOR> You might want to be aware of this too: [http://www.techempower.com/benchmarks/#section=data-r7&hw=i7...](http://www.techempower.com/benchmarks/#section=data-r7&hw=i7&test=query)

Interpreted language-based frameworks tends to be the slowest ones to perform

</comment><comment><USER2> Just going on community size is rarely a good yardstick for framework choice.

Look at the team you have today, the team you want tomorrow, the scale your app is likely to grow (both in terms of traffic and code base size).

</comment><comment><USER3> You will never go wrong if you start your project with django(Python framework)...it has been so active in the recent years and promises to be the future because even the python language itself is so active.

<comment> deepak-kumar Yup you are right. But python is a bit on the slower side in comparison to PHP and that is why the dilemma.

<comment><USER4> The difference in speed between Python and PHP should not be a deciding factor in choosing between the two web frameworks. Many of the core PHP functions are implemented in C directly, so they are very fast, but once you add a framework into the mix, speed drops off considerably because it seems the PHP interpreter is not so good.

</comment></comment></comment><comment><USER5> I think you shouldn't care so much about community, because in every case it is big enough.

I thing question is which stack (PHP/Ruby/Python) is the best for your project.

</comment><comment><USER6> Any of these will do just fine - they all have active communities, good docs and have proven themselves again and again - choose what your team is most comfortable with/efficient in.

</comment><comment><USER7> LOL! this seems a pretty novel way to gain karma. Will try it myself ;)

<comment> deepak-kumar Well you can just put your comments. No need to upvote. Not intentional.

</comment></comment><comment> deepak-kumar 3) Django (Python framework)

</comment><comment> deepak-kumar 2) Symfony2 (PHP framework)

</comment><comment> deepak-kumar 1) ROR (Ruby on Rails)</comment>


I am not a terrorist - <AUTHOR> http://narrative.ly/shorts/i-am-not-a-terrorist/

<comment><USER2> I recently started working the USA as an Iranian born Canadian. My co-workers are openly racist, and my immediate supervisor refers to me as "Car-bomb". He does this in company meetings in front of senior management, and they laugh at his jokes. This never ends, and he has called my family (including my deceased father, who obtained a PhD in engineering from a top Canadian university) a "terror cell". I could go on, but if I do I worry that I may tender my resignation by the end of this post.

Suffice to say, the USA is a very diverse country, both with upstanding citizens who defend their freedom and are beacons of rationality, and people like my supervisor. who are weak, pathetic low-lives who have been spoon fed propaganda via their televisions for their entire lives, learning to fear all that is different from them and thus supporting oppressive government regimes.

To all those who swallow the "american dream" BS hook line and sinker: you have been warned. The grass is not always greener on the other side.

I will be returning to Canada as soon as I possibly can. For reference, I work at a large multinational engineering company as a professional engineer with many years of work experience.

<comment><USER3> Does he realize you don't feel comfortable with those jokes? That sort of over-the-top overtly racist comment is hard for me to imagine being said genuinely, but my friends and I will make similarly appalling jokes directed at each other, where the humor derives directly from the absurdity and wrongness.

Racism towards arabic, persian and 'middle eastern' people certainly exists in America and is a serious problem, I don't in any way doubt you have experienced discrimination. But calling a coworker "Car-bomb" as a nickname is so egregious that I just can't imagine it being said with malice, it seems like a "look how politically incorrect I can be" joke among friends. I don't know, I could be wrong, maybe my experiences and the people I've met aren't representative of other parts of the country.

<comment><USER4> ... friends aren't co-workers. You choose your friends. You friends don't control your paycheck, nor can they fire you. It is a different dynamic, and for this to happen in a manager / direct report situation is insane.

It is so insane that combined with the anon throwaway, I really wish there was some sort of verification.

</comment></comment></comment><comment><USER5> Why is this post being flagged?

<comment><USER6> This is a site for technical news, not sociopolitical commentary.

<comment><USER5> The "best" stories page includes content about Gitmo, the Boston bombings, sleeping patterns, economics, India elitism, investment banks, etc.

<comment><USER6> Yes and that is a reason why I enjoy reading the site less now than I used to. I come here for technical news, not endless stories about politics, political commentary and complaints about US foreign policy. I can get that elsewhere.

<comment><USER7> I am glad that I got a chance to connect even in a minor way with someone I view as a fellow traveller. If it means I "enjoy" HN a little less, so be it!

This is not a cartoon for your enjoyment, it is part of real life. You can go back to grubbing for money any time you like.

</comment></comment></comment></comment></comment><comment><USER8> Upvoting for introducing the platform where this story is written and not the story itself (I didn't read and I don't come here to read non-technical stuff). Seems like narrative.ly is competimg with Medium?

<comment><USER9> Narrative.ly is not like Medium, and it has been around longer.

Narrative.ly is an online magazine. Every day, one story is published, of someone's experience living in New York.

It started out as a Kickstarter campaign: <http://www.kickstarter.com/projects/narratively/narratively>

<comment><USER10> Narrative.ly is actually using Marquee as its frontend - <http://marquee.by>. Great product with excellent customer service. I highly recommend it. The editing isn't quite as nice as Medium's at the moment, but the posts look nicer, particularly with photos, IMO.</comment></comment></comment>


30C3 video: "X Security: it's worse than it looks" - <AUTHOR> http://lists.x.org/archives/xorg-devel/2013-December/039773.html

<comment><USER2> Wait, someone expected X security to . . . well, to exist? In this decade? Wow.</comment>


Why Facebook open-sourced its datacenters - <AUTHOR> http://arstechnica.com/business/news/2011/04/why-facebook-open-sourced-its-datacenters.ars

<comment><USER2> This is a battle in which everyone wins.

However - the information released is less valuable without information on how the systems are used. For example, it would be great to get an idea of how Facebook is deploying the FusionIO cards they buy - and what the architecture is for serving up different components of its site.

There was no mention of storage - we basically saw compute nodes and the power infrastructure.

Are those nodes hosting multiple VMs? How are they connecting to storage.

Where is the Cache Layer - It looks like, via the statement they can send a reboot command via the network - that they dont care about OOB management - which really makes sense when their entire datacenter is purpose built for a single site.

So we see with both google and facebook a single application scaled to a global level.

We dont see how these architectures can be modularized to work for smaller apps or multiple separate tenants in a single colo designed around this architecture.

There is probably some good networking designs we can employ in a commercial data center to achieve compartmentalization of services -- although with the modern cloud - people area lot less sensitive to collocating their apps/data than they were just a few years ago.

One of the challenges large traffic cloud hosted services are seeing is limitations in not owning the HW architecture, such as Reddit where they dont have the advantage of designing, say, an SSD front-end cache layer.</comment>


Unicode Fonts for Symbols and Ancient Scripts - <AUTHOR> http://users.teilar.gr/~g1951d/

<comment><AUTHOR> The 3rd font down is Symbola, it contains quite a few Unicode 6.0 symbols not generally available.

All fonts on the page are free for reuse and distribution.

</comment><comment><USER2> Even though it's really cool to have all these symbols available in fonts, I can't really see a reason for them other than decoration. I mean, no one writes in hieroglyphs do they?

It would be really interesting to hear what people actually do with these glyphs :)

</comment><comment><USER3> Ancient script fonts are always a treasure. I've never known of a good, comprehensive collection, so I've always had my own little stash that I keep adding to.

These are really great. I especially love the Anaktoria Greek glyphs.</comment>


Backward Steps by the WSJ and the NYT on the iPad - <AUTHOR> http://www.cjr.org/the_audit/backwards_steps_by_the_wsj_and.php

<comment><USER2> This isn't just a symptom of the iPad. I've always been confused when news sites build an iPhone app for people to read the same news they can read in the browser or a news aggregator. It seems the time, cost, and energy could be spent improving the site experience, making accommodations for the differences in finger and mouse inputs.

Is it just for the ability to boast that they have an iPhone or iPad app? Perhaps it's just another avenue to increase readership?

Regardless, it's their choice to build the apps and users choice to pay for and use them, so c'est la vie.

<comment><USER3> There's evidence (both anecdotal and numeric) suggesting that people prefer using an apps to the "raw" web. My mom says about her iPhone, "Safari is still kind of hard for me. So I always look for an app first." I suspect her usage pattern may be somewhat typical, and if so, it may make a lot of sense for these companies to build these apps--because they're what the users want.

<comment><USER4> It raises their visibility too, because it puts them in the main list of apps, as a top-level thing.

</comment></comment></comment><comment><USER5> The most bizarre part - WSJ won't even let me subscribe to the iPad edition. Every time I do, they ask me what my account is for wsj.com, and when I give it to them, they tell me "Hey, we'll let you use the iPad version for no additional charge." So, for right now, it's really only $1.99/week for the WSJ (Web + IPad).

Meanwhile the NYT, which is completely and totally free on the Web at nyt.com, is trying to charge me $19.99/Month Now, for the times reader, which is only a _subset_ of the nyt.com (they don't include business graphs and figures last time I checked, just before I canceled my subscription)

I don't really understand their pricing/marketing strategy, and I'm one of their core audience.

Why, precisely, am I supposed to pay the NYT $19.99/month for a _subset_ of what they offer for free on NYT.com?

bizarre.

</comment><comment><USER6> eh... not to crazy about the article. It makes some statements about how things were deliberately left out of apps without backing up that statement with a quote or anything by those controlling the app. Isn't it possible that these features were left out because the app developers simply didnt have enough time to add those features for the first release??

</comment><comment><USER7> Wow, this sucks. With as much as the NYT and WSJ are charging, why do I have to look at any ads at all, much less intrusive Web-style popups?</comment>


AWS Introducing Provisioned Concurrency for Lambda Functions - <AUTHOR> https://aws.amazon.com/blogs/aws/new-provisioned-concurrency-for-lambda-functions/ <comment><USER2> With Fargate Savings Plans and Spot Instances, the cost of running workloads on Fargate is getting substantially cheaper, and with the exception of extremely bursty workloads, much more consistently performant vs Lambda. The cost of provisioning Lambda capacity as well as paying for the compute time on that capacity means Fargate is even more appealing for high volume workloads.

The new pricing page for lambda ("Example 2") shows the cost for a 100M invocation/month workload with provisioned capacity for $542/month. For that same cost you could run ~61 Fargate instances (0.25 CPU, 0.5GB RAM) 24/7 for the same price, or ~160 instances with spot. For context I have ran a simple NodeJS workload on both Lambda and Fargate, and was able to handle 100M events/mo with just 3 instances.

Serverless developers take note: its time to learn Docker and how to write a task-definition.json.

<comment><USER3> Dollar to dollar comparisons are one way to compare these two technologies but it leaves a lot not covered. The application programming model varies greatly (socket/port vs. event). There's also a lot more that Lambda brings to the table in terms of monitoring, logging, etc that you'd need to do work yourself to enable.

Fargate is a great product, but it doesn't completely remove _all_ operational work to the degree that Lambda does.

<comment><USER2> Agreed. For the vast majority of cases, a Lambda function is easier to ship and maintain, and most likely dramatically cheaper. I really only think the value of using Fargate kicks in compared to Lambda at around 5M+ invocations/month. YMMV based on workflow and workload.

<comment> efi-lumigo You are comparing only the costs of running them, what about the cost of developers who build/debug/troubleshoot the container. As someone who is running both on Lambda and Fragate it's way harder to make things tick on Fargate

</comment></comment></comment></comment><comment><USER4> This feels like a step backwards to me, nevermind how necessary it may be. The magic was paying only for what you use on super bursty workloads.

Now this is like throwing your hands up and saying the users bursts are too big for AWS.

<comment><USER5> Honest question not being sarcastic: if this cold start latency is so important why chose function over elastic beanstalk or other auto-scaling type system?

Answer could help us try something new. We currently use large google app engine 'apps' after failing to get functions to scale quick enough (and hit limits). we have SUPER bursty traffic that needs to scale up to hundreds of instances very fast.

<comment><USER6> > if this cold start latency is so important why chose function over elastic > beanstalk or other auto-scaling type system? Pricing! It depends on the > application, but there are some use-case where Lambda is way cheaper, so if > we can also partially solve cold start latency, why not?

<comment><USER7> Way cheaper given a particular workload and access pattern*, Lambda is not magical and its pricing is tricky to figure out until you have something running.

</comment></comment></comment></comment><comment><USER8> AWS 2006: "Run your workloads on our EC2 instances in the cloud 24/7."

AWS 2014: "Run your work loads on serverless so you don't have to deal with those pesky EC2 instances 24/7 anymore."

AWS 2019: "Click a checkbox and you can have your serverless workloads get dedicated EC2 instances 24/7!"

<comment><USER9> That's pretty reductive, it's more like

"Click a checkbox and we'll run your code for you, take care of OS security updates, compliance requirements, autoscaling, load balancing, AZ resiliency, getting logs of your box, restarting unhealthy processes, ..."

</comment></comment><comment><USER3> Hey all, I lead developer advocacy for serverless at AWS and was part of this product launch since we started thinking about it(quite some time ago I should say). I'm running around re:Invent this week, but will try and pop in and answer any questions I can.

Provisioned Concurrency (PC) is an interesting feature for us as we've gotten so much feedback over the years about the pain point of the service over head leading to your code execution (the cold start). With PC we basically end up removing most of that service overhead by pre-spinning up execution environments.

This feature is really for folks with interactive, super latency sensitive workloads. This will bring any overhead from our side down to sub 100ms. Realistically not every workload needs this, so don't feel like you _need_ this to have well performing functions. There are still a lot of thing you need to do in your code as well as knobs like memory which impact function perf.

\- Chris Munns - [https://twitter.com/chrismunns](https://twitter.com/chrismunns)

<comment><USER10> The cold start from using lambda has a number of causes

1\. the time to initialize the VM

2\. the time to create an ENI if you are connecting to a VPC[1](until the NAT alternative rolls out globally)

3\. the time to initialize your language runtime (Java seems to be the worse, scripting languages the best)

4\. any program initialization done outside of your handler that runs once per cold start of your lambda runtime.

A fully "warm" instance avoids all four when run.

Is my understanding correct that a "provisioned" runtime that isn't "warm" will only avoid the first two?

What state is a "provisioned" instance in?

[1] I refuse to use the colloquial but incorrect statement that the lambda is "running inside your VPC".

<comment><USER3> Fwiw new networking for VPC is completely rolled out for all public regions now. (#2) (and thank you, its called "Attached to a VPC" and not in :) )

This covers you straight through 4.

Now it's possible that your execution environment could be sitting for sometime waiting for any action and so pre-handler DB connections and things like that might need to be tweaked in this model.

Thanks, \- munns

<comment><USER10> So I had to convert three lambda APIs using proxy integration to Fargate mostly because of the 6MB request/response limit but the cold starts caused us to make a rule that we weren't going to convert our EC2 hosted APIs to lambda. We were going to host them on Fargate.

But since the APIs that I moved over to Fargate are now automatically being deployed to both lambda and Fargate with separate URLs, we can A/B test both and see if we will move to lambda in cases where the request/response limit isn't a problem.

Btw, I didn't think using a NAT instead of an ENI had rolled out completely. I tried to delete a stack recently and it still took awhile to "cleanup" resources. I thought that was caused when it was deleting the ENI. I'll be on the look out for it next time I need to delete a stack.

</comment></comment></comment></comment><comment><USER11> I am a huge fan of serverless, and AWS as well.

I also find it deeply ironic that their solution to cold starts is to keep the function running 24/7...

Could I include openssh and Apache in my Lambda instance? Maybe run a Minecraft server? :P

<comment><USER12> Your function is frozen if there is no active invoke in progress. So no, ssh or minecraft server will not work, unless you make them communicate over Lambda invocations.

<comment><USER13> Even if it were not frozen, the idle "Provisioned Concurrency" price is still more than paying for an active on-demand ec2 instance.

</comment></comment></comment><comment><USER14> Am I misunderstanding something here? Based on the AWS calculations on the Lambda pricing page, a single 256Mb Lambda would incur a cost of $2.7902232 per month, using "provisionedConcurrency: 1". Pushing it to 3008Mb, to get access to more processing power, makes that go up to $32.78 per month (EU London region). Compared to the standard way of warming it up by hitting the endpoint once every 5 minutes, which comes out to 8640 calls per month, which costs next to nothing.

Unless I am terribly mistaken, it doesn't seem like allowing AWS to handle this and not doing it in code (warmup plugin, cron job, etc.) is worth the cost.

<comment><USER10> Pinging the lambda to keep it warm doesn't do the same thing.

When you do that, it only keeps one instance warm. If you have 10 concurrent requests, even if one is warm, the other 9 requests will still experience a cold start.

The only way around this is to send a request that holds the connection open long enough to make sure concurrent requests start a new lambda instance. While you are keeping the request open, that lambda instance isn't available for a real call.

If the entire purpose of lambda is to make things easier, once you start down the Rube Goldberg path of trying to keep enough instances warm, it kind of defeats the purpose. Just spend the money and the time to set up an autoscaling group of the smallest instances of EC2 or use Fargate if you don't want the cold start times.

</comment></comment><comment><USER15> As a seasoned AWS developer, I love this feature. However, I wonder how the increasing complexity of AWS affects new devs as they try to grok the offered services. AWS typically does a pretty good job hiding advanced features from beginners, but I wonder how long they can do that.

</comment><comment><USER16> Lambda has always been the most expensive compute you can buy on AWS -- you could think of that as the premium for being the most "elastic". So this feature is about giving away some of that elasticity for (a) performance predictability and (b) a bit of total cost savings. Note that you can still happily "burst" into exactly as much concurrency as you could before, you'll just have cold starts.

People used to write cron jobs to keep their functions warm, which besides being ugly didn't even work well -- you could at best keep one instance warm with infrequent pinging, i.e. a provisioned concurrency of 1. So this feature addresses that use case in a much more systematic way.

There's some precedent for features like this -- provisioned IOPS and reserved instances come to mind. In both those cases you tradeoff elasticity and get some predictability in return (performance in one case, cost in another).

<comment><USER13> I doubt there are that many people that want a provisioned concurrency of greater than one.

If you have a reliable base-load of a few requests a second and you don't have some constraint that forces you to use lambda, you are going to get much better value running your application on ecs/ec2.

</comment></comment><comment><USER17> This is a big deal. Cold starts were always the huge Achilles heal for using lambdas for interactive APIs. Kudos for this.

</comment><comment><USER18> They really went out of their wait to avoid using the word "server" in that article.

I've always hated the term "serverless", but its usage in this context is even more ridiculous.

</comment><comment><USER19> So excited for this, between this and the removal of VPC cold start issues recently, avoiding Lambda for APIs because of latency seems to be a thing of the past.

</comment><comment><USER20> Sorry for the stupid question, I genuinely want to know: how does this differ from firing up your function with an additional call every, idk, 5 mins? Wouldn't it be cheaper and easier?

<comment><USER19> This works beyond a scale of 1, e.g if you want to be ready for 100 concurrent invocations using ping it's quite difficult to do that I imagine.

Also presumably more reliable. With the 5 minute ping the underlying container will be reprovisioned every few hours. At which point it's a race to see whether the next ping comes before the real user request to swallow the cold start.

<comment><USER21> And what if I fire 500 concurrent keep-alive's? (Or maybe a bit of overhead). Then the 500 lambda instances will stay alive for a couple of minutes again, but I'm still only charged the 500 calls. Not the Gb/sec the rest of the time the labmda's are alive, right?

<comment><USER22> How do you ensure that the 500 concurrent keep-alives land on different Lambda functions? I.e. requests 220 and onwards might hit lambda functions which were warmed up by requests 0-219. I just made the above numbers up of course.

<comment><USER21> That's why I mentioned 'with maybe some overhead'. You can also have the keep- alive handling take a second or 2 extra to complete, to have the lambda blocked for this time, so the burst calls get more spread. It's not going to be a precise solution, but still, paying 2-3 seconds every minute instead of paying the whole minute is still a lot cheaper.

<comment><USER21> Ok, I quickly did the math for 500 lambdas (1Gb):

Provisioned: 500 * 86400 (sec/day) * 0.000004167 ~= $180

Keep-alive: 500 * 1440 (min/day) * 2 (sec. runtime) * 0.000016667 (100ms price) * 10 ~= $240

Invocation costs on the provisioned ones would be a lot cheaper too cheaper too. Roughly $45 provisioned vs $80 for 50M calls.

So depending on the demands, provisioning can be more performant, and cheaper at the same time.

</comment></comment></comment></comment></comment></comment><comment><USER23> This is relatively easy to do with OpenFaaS and Knative on Kubernetes. If we're paying for idle, why not take a look at EKS on Fargate?

[https://www.openfaas.com](https://www.openfaas.com)

</comment><comment><USER24> Request for anyone on the Lambda team who happens to read this: your API doesn't appear to offer a way to retrieve the "last modified by" user when grabbing function metadata.

Very unlike other AWS APIs and very annoying.

<comment><USER25> Which API specifically are you referring to (GetFuntionConfiguration ?), and which APIs are you comparing it against?

<comment><USER24> There are other oddities too. For example, to get a layer name from a lambda definition, the simplest/most robust process I can define:

1 Retrieve all layers with list_layers and index them by ARN

2 Retrieve all function metadata

3 For each function metadata item, extract all layer version ARNs

4 For each layer version ARN, call get_layer_version_by_arn

5 Extract the layer ARN from that result

6 Use that layer ARN to retrieve the name from the data we retrieved in step 1

<comment><USER25> Layer Name and Layer Arn (the Layer Version Arn without a version suffix) are interchangeable in APIs that require a Layer Name parameter. I understand that you're trying to extract the "LayerName" field returned in the API response in ListLayers, but you can do it more concisely.

If you just need the Layer Arn to call other APIs:

a) You could eliminate steps 1 and 6, and use the Layer Arn value from 5 to call APIs that require a layer name.

b) Alternatively, you could yourself chop off the version number from the Layer Version Arn string(s) in step 4, and skip the GetLayerVersionByArn call in step 5 all together.

If you explicitly require the name, not the Layer Arn:

c) You could parse it right out of the Layer Version Arn yourself.

When it comes to doing your own string manipulation for (b) or (c), there are many ways to skin a cat ... but you could use regex (the pattern is in the API documentation), or split on colons and index the second to last element in the array.

Is it useful to return the Layer Name in more APIs? What is your use-case?

<comment><USER24> Sorry, been away from this for a while. This is for a dashboard (we have many accounts and not all stakeholders have permissions across all accounts, so we need ways to manage the information outside the web console).

I am reluctant to treat ARNs as anything but opaque blobs; I do so when necessary, but I know their format has changed in the past, and the lack of a central resource to track breaking changes across AWS means that we would likely not know that the ARN format is changing until our tools break.

I appreciate the ideas, however, and I'll look more closely at my flow to see what shortcuts I can live with.

</comment></comment></comment></comment></comment><comment><USER26> I think this is a really good feature and has many use cases. I also anticipate so many developers that shouldn't use Lambdas are going to use Lambdas becaues of provisioned concurrency.

</comment><comment><USER27> Provisioned Concurrency is now supported in the Serverless Framework - [https://github.com/serverless/serverless](https://github.com/serverless/serverless)

</comment><comment><USER28> I'm still frustrated that Lambda can't have alias specific environmental variables. Aren't alias' supposed to be used for staging function versions through a release pipeline?

<comment><USER29> Alias is a super weird feature of AWS Lambda imho. We setup separate Lambdas for dev, test and prod instead, like Serverless Framework does it.

</comment></comment><comment><USER30> At least if you build APIs, you can use VTL and avoid Lambda and its cold starts completely

<comment><USER31> Which service uses VTL (is it Appsync)?

<comment><USER30> AppSync and API-Gateway

</comment></comment></comment><comment><USER32> Ok

</comment><comment><USER33> I am not even sure that developers around me know how to do concurrency, since moving to micro services.</comment>


Dressed release first high quality Twitter Bootstrap Theme, Gimlet - <AUTHOR> http://dresssed.com/themes/gimlet

<comment><USER2> Need a better url. Can never remember that there are 3 s's.

</comment><comment><USER3> Great idea, good execution! I like this a lot!</comment>


Ask HN: Why do we want to learn something new when we don't have time? - <AUTHOR> While you are in busy, you want to learn or create something new. But, not when you have free time. It's always happened to me. And I ask some of my few friends and they said the same thing as well.<p>Can HN explain me why and how to overcome that? <comment><USER2> When you're busy, perhaps you're bored with whatever you're busy with, and so your brain wants to do something creative.

Conversely, when you have free time, are you filling your free time with stimulus that take away the boredom? (e.g. browsing the web, video games, substances) If so, that's why the creativity and desire to learn are then disappearing.

When you have free time, try not allowing yourself to succumb to stimulus, and allow yourself to be bored. Then see if the desire to be creative returns.

<comment><USER3> I agree, and I think there's another aspect to it: When you're busy, you want to learn something new because you know you can't actually do it. So you get all the upside ("feeling good about your resolutions") without the downside ( "actually having to do it")

<comment><USER4> Wow. That honestly blew my mind. And it rings so true. Do you have some articles with more details on this?

</comment></comment></comment><comment><USER5> You've read my mind. I did a 4 day week for a bit and goofed off for the extra day. I think the reason is we are overworked and really your body and mind needs a rest. Given the opportunity you want to take rest over more work.

What has helped is pacing t work, take more breaks. Chatting to colleagues socially for 10 minutes a couple of times a day for example is a break from coding that seems culturally acceptable (but sitting in your car might be seen as slacking)

The save same energy for personal projects.

Also your personal projects should be super fun. I almost gave up on one because I wanted to use a similar stack to work - typescript, web pack, npm, browserify, mocha, plugins for browserify to work with type script, npm configs, typescript configs to name a few. Glad i didnt have to set all that shit up at work!

Then I thought fuck it I'll use Elm. The generated code might be less efficient but I need to enjoy the project.

With Elm I was producing in 60 seconds and had a basic app up in a few hours.

Now I need discipline to STOP working on this project because its very enjoyable.

I'm not saying use Elm. But use and do things that are actually fun and connect you with why you enjoy this stuff. Let someone pay you to do grunt work.

Pun intended.

<comment><USER6> I agree with this. At work I do (mostly) Java (with some semi-liberal sprinklings of Clojure).

Despite the fact that I do Java full-time, I despise the language, so I do all my personal projects in Chicken Scheme. It may not create the fastest programs ever (at least if you use the cool dynamic parts of Lisp like I try to do), but I have a lot of fun doing it, and as a result I end up getting much farther in the project. To me, a program that exists and works is inherently faster than the program I never finished writing.

</comment></comment><comment><USER7> There's an interesting summary that MIT news did of a study done in 2005[1] that explains habits which might be helpful.

The part I found most interesting was:

> "It is as though somehow, the brain retains a memory of the habit context, > and this pattern can be triggered if the right habit cues come back," > Graybiel said. "This situation is familiar to anyone who is trying to lose > weight or to control a well-engrained habit. Just the sight of a piece of > chocolate cake can reset all those good intentions."

> Graybiel speculates the beginning and ending spike patterns reflect the > nature of a routine behavior: Once we start, we run on autopilot -- until we > stop."

So this could explain a few things. One is that when you're in the mode of getting things done at work, it's easy to ride this wave into inspiration for learning. But when you're at home after work it's easy to ride that wave into distraction.

So a potential fix might be to trigger your brain with a stimulus to get back into inspiration mode. For instance, make a simple note of cool things you learned this week, month, or year, and reflect on it for a few minutes. This might kickstart you into action for learning.

1\. [http://news.mit.edu/2005/habit](http://news.mit.edu/2005/habit)

</comment><comment><USER8> Because when you imagine learning something, you probably imagine setting up a conv net on a camera to recognize your guests and say their names.

But when you start, you realize the camera was delivered to the wrong address and you spend 2 hours on the phone getting it to arrive.

When it does you realize that you can't just use the python code but have to download some C++ patch and that the version is incompatible with your new Ubuntu LTS.

Fine, you use virtual box to use an older Ubuntu but now you have to roll back to Python 2.6 which breaks your conv net.

Or maybe you want to write a novel hoping to win major awards and be chatted up by journalists.

But after 2 pages of a pretty exciting coder's life you aren't even sure how to describe his mom and you're wondering if you should start the scene at night and you're unhappy with the corny language.

It's the gap between the ideal done form you see and the boring work to get there.

<comment><USER9> That horrible yak shaving is why I use NixOS.

<comment><USER10> it's great as long as everything you need is already in their repository. if you actually have to write your own code to build things, though, you're looking at one extremely hirsute yak.

</comment></comment></comment><comment><USER11> Just like many things in life, its all about building that habit in the first place. The most important thing is to be fiercely disciplined when it comes to carving out dedicated time for the task. Start off small: maybe 30 minutes a week to read new articles, every week. Don't ever miss it. When that becomes easy and part of your routine, make it 40. So forth and so on until it's something you don't even have to think about.

Building up your habit is a long process, and it can't be rushed. Don't start off too big (i.e. start off spending 8 hours on a project in one day). I mean you can, but if it feels like a drag then you're biting off more than you can chew. Prioritize on sustainability and consistency; otherwise you'll unconsciously tell yourself that it's too hard and set yourself up for failure.

EDIT 1: I realize the post is more about having feeling inspired/creative vs wanting to learn, so my thoughts may not be answering OP's original question.

EDIT 2: I think a better way to frame the question is how to bring creative ideas to reality. If that's the primary goal, building up the habit of trying to apply our ideas is IMO really important. Otherwise, ideas will just remain ideas.

</comment><comment><USER12> I call this escapism. It is the inability to be mindful and focus on what is happening in front of us right at this moment but rather distracting ourselves with thoughts of a better situation.

Better situation is relative to the situation you find yourself in. So it changes with every situation you find yourself in.

</comment><comment><USER13> Creativity thrives on diverse and novel combinations of inputs.

So, if all the physicists in your office play tennis, except that one guy who collects butterflies as his hobby, that one guy will have more novel ideas than possibly all the others combined. Everyone else will think more or less alike. He's the one who will be going "But what if black holes are kind of like cocoons?" \-- which may make him a laughing stock, but probably no one else is making that comparison and it may be fertile ground for new and exciting discoveries.

So it's possible that being busy is when your mind is getting sufficient diverse inputs to spark new ideas and maybe you recognize they are half-baked and you need more info about X to have any hope of fleshing it out. So you wish you could delve into it.

Starting an idea file and jotting stuff down when busy, then following up later might help.

Alternately, it's a general truism that people have kind of an internal quota.

Maybe they have an internal need to read 4 hours a day. If their job involves reading 4 hours a day, they are happy and won't read much after work. If their job involves reading two hours a day, they are going to read in bed two hours a night. If their job involves reading five hours a day sometimes, they are going to start going stir crazy that last hour and want to do anything but read.

So it can be a case of "I want to do anything else, just not this. I can't stand another minute of this -- and it's going to last all week, dagnabbit."

</comment><comment><USER14> There is probably too much closed mode with your current project, so you seek the open mode.

John Cleese has a talk on this [1], that open mode is for creativity and blocked out time for just that, and closed mode is for shipping and staying focused.

If you stay too long in the closed mode, you desire the open mode but there may not be enough on your current project to fulfill that.

The solution is side projects, compartmentalizing your time, or finding something creative in your current project for more open mode time if possible with time/budget.

However, you can't force creativity in the closed mode though so if you aren't given enough room to be creative and play then it won't fulfill the open mode time needed. Modern day project management is heavy on closed mode and rarely allows open mode play, that is a big problem with today's project management and time/budget constraints, it is why games/movies are shipped late, why software sucks today, why work is drab with little control and more, when you force creativity it isn't.

[1] [https://genius.com/John-cleese-lecture-on-creativity- annotat...](https://genius.com/John-cleese-lecture-on-creativity-annotated)

</comment><comment><USER15> I can concoct a couple of explanations:

1) in an environment of oppression, manipulation or negligence, where a perpetrator, manipulator, or guardian/parent realizes that a victim will come to realize the cause or shirked responsibility surrounding their injustice, the manipulator has an advantage to change your mind or subject before you realize what happened, before you can formalize a pattern or solution or worse attribution. Those who got manipulated survived less or prospered less so had less offspring. The fact that we exist means our ancestors were then probably those who had slight predispositions to _not_ allow "business therapy" change your train of thought.

2) this is HN, so plenty of us were terminally bored in high school, where we created the habit of postponing exams and task till the very last minute (a sort of handicap move?), at which point we had _little time left_ and started finally doing the task or study. we grew up associating a lack of time with starting to study? perhaps it's also what gives us a good idea of estimating workloads of unperformed tasks?

</comment><comment><USER16> I can empathize.

I have hundreds of tabs open in my phone's browser. Stuff that sounds _really interesting_ and that I'm going to read _Any Day Now™_.

But when Hacker News and CNN 'run out', do I read the open tabs?

Nope. I just continuously click Refresh.

<comment><USER17> This is a problem for me too. I wonder if there is a solution?

<comment><USER18> I just take a holiday. I use (Mozilla's) Pocket and shove a lot of things in there. When on holiday, I go through my articles.

</comment></comment></comment><comment> atom-morgan I'd recommend reading The War of Art: [https://www.amazon.com/War-Art-Through- Creative-Battles/dp/1...](https://www.amazon.com/War-Art-Through-Creative- Battles/dp/1936891026/ref=tmm_pap_swatch_0?_encoding=UTF8&qid=&sr=)

<comment><AUTHOR> I read about the book description and don't understand the connection with the question. Can you please describe a little description or connection with the question?

<comment><USER19> Not the OP but: it's all about learning to build habits in order to break this inconsistent "flow" of motivation.

</comment></comment></comment><comment><USER20> I've been working on a problem for years. It's particularly vexatious, but some pieces fell into place think week and a solution is nearly in hand. It helps that I have a false deadline to toil under. Had, anyway; I digress.

I'm a daydreaming mathematician who works with very pragmatic physicists and engineers. I caught wind that the physicists have an unsolved problem, so rather than toil at my project, I spent the morning reading wikipedia in search of obnoxious questions for physicists, and split the afternoon between asking those questions and coding up my putative solution to the problem I'm supposed to solve. It fails.

Mulling over cryptic statements from physicists on the bus, a thought strikes in a flash. I get off the bus, talking to myself out loud, repeating the new inspiration until issues arise and solutions follow. I've been looking at it wrong.

When I arrive home, I understand that my new inspiration is the right approach, to a problem that isn't blocking my deadline. Another problem, just as hard and just as old, is. A solution strikes me in a flash, and I know I won't sleep that night, because it's still too big to fit the complete solution in my head.

There's a point where it's a bad idea to procrastinate with learning. But used judiciously, it distracts from the challenge -- the problem-solving processes are still running in the background but the foreground is engaged and full of wonder.

</comment><comment><USER21> Solving real problems is often boring and or difficult. Tedious mass refactoring, fixing bugs in horribly entangled code you didn't write, convincing groups of people they need to make a painful change now for a better future, keeping a team of engineers happy and busy.

Learning is always more fun and easy. You can read a tutorial and make progress. Even a rigorous online course is still easier than real life problems because the direction you go in is on rails. You don't have to do that hard part of deciding what to do and why to do it; the instructor did that already.

I often see people divert their attention to busy work that's easy to make progress on instead of the real and immediate problems. Examples would be fixing all the warnings in a large project, optimizing things that are already fast enough.

The real stars of engineering resist these tempting short term buzzes somehow .

</comment><comment><USER22> Possibly [http://www.structuredprocrastination.com](http://www.structuredprocrastination.com)

<comment><USER23> Yes, I was going to say, _procrastination_.

I came across a piece of writing about Perry's theory years ago and thought "Gee, that's deep, the guy must be a philosopher" \- and he is. The idea is to have such an impressive To Do[0] list that even when you do the things lower down on it - "procrastinate" \- they're still not a bad use of your time, and maybe better than the urgent, important things at the top.

[0] I just _can 't_ write 'Todo', as seems universal in English, because 'todo' = 'everything' in Spanish.

<comment><USER24> "This is my everything list. It's everything I wanna get done."

</comment></comment></comment><comment><USER25> Maybe it'd be useful to unpack what "busy" and "have free time" really mean. Maybe "have free time" means that you just worked very hard on something, and need down time. Or maybe it means that you're looking for a job, and feeling stressed.

Maybe "busy" means that you have lots to do, but it all bores you. Or maybe it means that your mind is fully engaged, and new ideas just naturally spin off.

I've had about five distinct careers. And at each transition, I went through a period of resisting what I was supposed to be doing. And doing something else, which seemed more interesting. And then that new thing turned into a career. Not every time, of course. There were some dead ends, and I crashed and burned a couple times. But hey, I'm still alive, as Logen says.

</comment><comment><USER26> Spending 1 hour on learning a new subject makes you feel instantly better/improved easily since 101 stuff offers high exp/time spent ratio. If you don't have time you are probably stuck, cant progress etc. And that feeling you got from 1 hour lecture on a new subject makes you think you are making progress that you strive for on some things at least, thats how I explain it to myself.

</comment><comment><USER27> I tend to have this impulse when I'm unhappy with the things keeping me busy (e.g. low value work). My mind will try to drift into new areas to create alternative work that's more fulfilling. Ironically, my capacity for learning and creativity seems to diminish when I'm busiest while my desire for those things grows.

</comment><comment><USER28> Most people find it easier to keep commitments to other people than to themselves, because they know other people are going to hold them to account for commitments they care about.

</comment><comment><USER29> When you are busy, take at least minimal time to journal. It feels creative and will give you a chance to capture the creative ideas you will surely forget. That way you have a list of interesting things when you have free time.

</comment><comment><USER30> I just sacrifice sleep. A few months ago I thought it would be a great idea to audit Steven Skiena's algorithms course and see if I could implement it in JavaScript - 2 months later and a lot of sleep lost... [https://www.userinterfacing.com/tag/algorithms/](https://www.userinterfacing.com/tag/algorithms/)

<comment><USER31> I would love to have taken his course. My algorithms course was taught using Skiena's text, and that little red book (algorithm design manual) is still a joy to flip through and reference whenever I need it. If only it came in hardcover, my paperback copy has seen better days.

</comment></comment><comment><USER32> For me, it's because the thing I'm doing right now is boring, and doing some other project instead (a) seems more interesting by comparison and (b) lets me convince myself that I'm still being productive.

When I'm not busy, I can play a game or read a book, and those are way more entertaining than a new project, even a relatively interesting one.

</comment><comment><USER33> It sounds like you have not practiced discipline, it's not innate. Luckily life is the perfect teacher.

Take up a hobby for purpose of being disciplined. For me it used to be weight lifting, then wood working, now music. Make a realistic schedule and set of objectives. Then execute. You can only modify your plan rarely.

</comment><comment><USER24> Save up, take a vacation. Stay on the vacation until you start getting the itch to work on something. Oh, hey, look. Here's your list of cool ideas you had when you were busy! Nah, that's a dumb idea, that one's super expensive, ooh, this one looks like fun.

</comment><comment><USER34> Regardless of other reasons for this observation, I think sampling bias, or the inspection paradox probably contributes to it.

Assuming that you are:

\- equally likely to have the desire to learn/create something new during any given time period

\- busy for the majority of your time (e.g. you are employed in a time- consuming job)

Then you are more likely to find that you want to learn something new while you are busy (since whenever you randomly find something you want to learn, you are more likely to be busy than not).

If you swap the second assumption to "idle for the majority of your time (e.g. you are unemployed, or employed at a more relaxing job)", then you are probably more likely to make the opposite observation.

</comment><comment><USER35> I guess it's a simple distraction to give your brain a break from monotony.

A friend of mine used to search (and share!) some really strange things on Wikipedia like stuff about Rome and Julius Caesar in middle of programming session. I think it just a way to avoid boredom when you've been doing something for some time.

As for the cure I think there is nothing wrong with small breaks. It's the big distractions which cause problems. For that a lot of things can help you keep track like an accountability partner, list of tasks broken down into small tasks, a simple spreadsheet where you mark your work times and break times, etc.

<comment><AUTHOR> Never think about it. The brain is asking for a break. How do you think about the idea that appears at the middle of the busy stuff?

<comment><USER35> Yes fully agree with what @temporal said above. I too have a huge Gdrive folder just filled with ideas categorised under b2b, b2c, fun, etc. Jotting down an idea free us the hold it has on your brain and your fear of losing it also goes away.

One side effect of doing this is what i call my ideas are marinating. Something which may sound way awesome at a moment may lose all its appeal in a month's time. So it's good to let your ideas sit for a while anyway.

</comment></comment></comment><comment><USER36> We always have time. It's just a matter of priorities.

Also "busy" is a relative term. Many people call themselves busy, and whether they really are busy (or productive) is a different story.

</comment><comment><USER37> This is the great spirit rising inside of you. Listen to the great spirit or it will abandon you.

</comment><comment><USER38> Others already mentioned the escapist desire. I agree with that to an extent. We do want to run away from difficult tasks and one way is to think of what else we could be doing. Learning is usually thought of as universally positive, which makes it as guilt-free a distraction as you can get. You're not escaping. You're learning!

But I think something else could also contribute. Self drive is really difficult, which is why we waste so much of our free time. We built really good structures with incentives and penalties that force us to be productive even when we don't want to. Those are generally workplaces and classrooms, or just general life responsibilities and chores.

When you get productive doing something you don't want, naturally your first thought is what would I do with this productivity if I had a choice? Essentially, there are structures that motivates us to be productive in areas we don't want, and we wish we could use that in the areas we do want because our self drive is weak.

That's my theory any way.

</comment><comment><USER39> The broader question is: why are people never fully satisfied for long?

The answer is simple: that's just how humans are. You can do this and that, in all areas of life to be less dissatisfied. Just don't believe for one second that it'll lead to some ultimate state of lasting satisfaction.

</comment><comment><USER40> I guess its like Larry Page says "The only cost is opportunity cost". You've opted to do something and you feel the pain of the other options you gave up, so you yearn for them. When you aren't doing anything you still have all the options open.

</comment><comment><USER41> I can say this: As much as I believe anything, I believe I was born to write a widely acclaimed novel. But I'm also a rational person who recognizes this is ridiculous. Even a person seriously dedicated to writing a novel faces a long shot. I'm not a serious person, even though I've made a decent living as a journalist/propagandist. Now I'm of an age that my failure bothers me. But I just don't have the time--or, more accurately, I don't have the wil--to forego pleasant distractions. Priorities. Make a call.

More practically, maybe a counterpoint, maybe not: My wife's constant scrolling of her social media feed drives me crazy. What a waste of a time, I insist. Yet moments ago she shows me the below. Does it qualify as learning something new, a diversion worthwhile? It's a lifesaving technique I didn't know; arguably an investment of a few minutes that's more valuable to me than the weeks/months/years I might spend to craft a piece of fiction that likely would be unread.

tl;dr: utility has limits in making life choices.

[https://youtu.be/VUsnmGXJ70E](https://youtu.be/VUsnmGXJ70E)

</comment><comment><USER42> When I take breaks from coding I generally spend some time learning about things I'm curious about. This kind of clears my head for the next round of coding and satiates my desire to learn something new at the same time.

</comment><comment><USER43> Freedom. It's like an escape from work. So when you're not working, you don't need an escape anymore since you get more freedom.

</comment><comment><USER44> When I'm busy with a project, the things I don't understand very well make me curious and cause me to think of things to learn/make. I recently began to combat this by keeping a list of things that would be cool to learn and/or build and referring it when I'm bored. So far its been working pretty well

<comment><USER45> For me the feeling is quite different, for example when I am in busy and I want to learn new language. At that time, I can't. But, I write it down. Later, when I have free time. I am not that active like when I am in busy. Does that happened to you?

<comment><AUTHOR> Yes, that happened to me as well. How do you solve it out that?

</comment></comment></comment><comment><USER46> It's worked for me. Few of my tangential studies have been useful, but the ones that were made me very productive at my job. I discovered programming through messing with games instead of studying in college, then learned to automate reporting instead of hammering away at an Excel workbook. Thank goodness I did.

</comment><comment><USER47> For myself, I make creative plans when busy -- I write out my ideas, draw some sketches of what I have in mind, and then leave it all in a Trello board. Later, when I have free time, I peruse my own ideas, see which ones still look good, and do it.

</comment><comment><USER48> I can't explain the reason for this. But you describe me really well. Realising the problem is first step to solving it. And I am going to make this post my homepage to remind me When I'm goofing off. Thanks OP!

</comment><comment><USER49> I do too. The solution is to write those ideas into one place, always the same place. And read the place once in a while. Then when you have time, read the list often and force yourself do small (very very small) thing. Suddenly big ones will look attractive.

But also, partly it happen because you don't really think about those ideas into detail while you don't have time - while simultaneously your brain have tons of inputs from projects you need to work on. So it is easier for them to look cool. When you have time, your brain considers reality of it more.

Plus, what you can't have is always more attractive then what you can have.

</comment><comment><USER50> It's about the novelty and associated dopamine ;-)

</comment><comment><USER51> Not everybody is like this.

</comment><comment><USER52> novelty is addictive</comment>