Ask HN: People working remotely, how do you plan your workday? - <AUTHOR> Do you use any special tools or anything like that?<p>The problem I'm facing is when my team grew up, I get a lot of requests to check something, help, etc. Sometimes I forget about either of those requests because I don't do any planning (e.g work on a task for 7 hrs, then PR reviews/requests for 1 hr) and the requests get lost. I use slack reminder bot very frequently but this doesn't work well for communications performed outside of slack and neither have structured to-do list <comment><USER2> I sit down every single night and plan the upcoming day by making a simple list. I don't prioritize it, I just make it. This includes meetings.

Then, first thing I do in the morning is update my list based on what (if anything) changed the night before. I place asterisks beside the _THIS HAS TO HAPPEN OR UHOH_ things. I even prioritize those.

Then, I schedule them into my day, before I start - based on estimating them. I follow through with those items, shutting off _everything_ whilst working on the "must happen" list. I review the list and re-prioritize roughly mid-day, having come up for air at least once.

The problem I found over the years is that nothing is as quick, as limitless, and as fluid as paper. For this reason I use a Stalology B6 notebook.

</comment><comment><USER3> We have a weekly on-call position on our team where that person tries to shield everyone else from non-sprint distractions. They would usually be on point for handling requests from other teams, production issues, release problems, helping stuck people, etc. It's generally a nice way to balance the workload across the team and make sure knowledge is spread evenly.

For a team without that, I would either context switch each time a problem comes up (which could be hard if you're pinged a lot) or make a more formal intake process. I've gotten pretty used to context switching so my general flow is to keep a list of the problems I'm working on and break each down into small sub-tasks with check marks for progress. It's sort of like caching your current work and thoughts on the problem but that is still not as good as just working through the issue uninterrupted. I don't think the tool for note taking matters, it could be a journal, org-mode, plain text, outlook, trello, or whatever you're comfortable with.

Some teams which I've worked with have built out intake systems to keep random fire drills under control. The system they have is to keep a triage channel open in slack and a triage board in Jira. If you have a small question or need a bit of help, it's usually fine to ping the on-call for their team in the slack channel. If their on-call is swamped or the issue is bigger, they'll usually request that you file an intake ticket with Jira. This probably seems like overkill (especially if the company is a small startup) but if you're spending a significant amount of time helping people and solving production problems, this should be tracked so people can see the extra work you're putting in. It's important that people don't burn out or become the sole person who know how everything works. Newer management may not understand why you're struggling unless you give them tools to see your actual workload.

</comment><comment><USER4> Finding myself in similar positions, I have made a few observations:

\- most requests aren't urgent, people are impatient

\- identify common requests and solve them at the root (tooling, documentation, training, delegation, etc)

\- split my day in to blocks [0]

\- block an hour per day for code reviews

\- a list containing little bits and pieces like updating some documentation, helping here, asking something there and do them in-between or when I feel unmotivated, etc

\- unapologetically close slack/teams/email/etc when working on something that requires your attention

[0] [https://doist.com/blog/time-blocking/](https://doist.com/blog/time- blocking/)

</comment><comment><USER5> I use a kanban board.

[Backlog] [Active] [Done]

All new tasks go into [Backlog]. In the morning I move the backlog cards around based on priority, the higher or more urgent items positioned at the top. The top three then move into [Active]. [Active] has a limit of no more than 3 items. As items are completed they move into [Done] and are replaced by new items from [Backlog], again up to a limit of three. I limit [Active] (they call it a WIP limit) to make sure I don't take on 5-6 tasks and start feeling overwhelmed or despondent for not getting much done as I am flitting between items (spinning plates on sticks).

I use trello, you get a few boards for free.

<comment><USER6> Hi! I do this as well. Do you do any categorization of your cards? Also, do you do any longer term goal setting and planning?

</comment></comment><comment><USER7> We use GitLab with templates for issues(bug, incident, feature) and Slack.

We also have a Slack workspace for our platform users where they can ask questions, or report bugs or incidents. If users ask a question on how to do something many times, we open an issue for improvement, ux, documentation, etc.

If the users complain something isn't working, we'll open an issue for a bug.

If they report an incident, we'll solve the problem and write up the incident. If it happens more than once, we'll open an issue and solve it.

This pushes development and prioritizes our work. By the third time people complain about something you go alright, it's time to solve this.

If it's something that _prevents_ users work, it shoots up in priority.

</comment><comment><USER8> I actively avoid planning because it kills momentum for everything. It might actually be a good habit to ignore them until you're ready to deal with them. Normally I check messages etc during lunch break and end of the day (around 4 pm). There are also points where it's hard to do work, like an hour before a meeting. You could also leave notifications on if they're time sensitive.

</comment><comment><USER9> Daily:

\- Look at calendar (see if/when I have meetings)

\- Make a To Do list and attach it to my monitor (it's quite gratifying to check something off, and that fact's helped me a lot)

\- Find out if I have anything due that day, and if so to make that a priority

\- Make sure my Git branches are up-to-date

Monday/week start:

\- Find out if I have any deadlines, and if so when

</comment><comment><USER10> I have more requests than the workday can handle, so they pile up and they are all "urgent". I just to the request for who nags me the most, which are probably the ones that are actually urgent.

The rule is if you want something done you must ask at least 3 times.

Or if someone calls me on the phone, then it's probably urgent.

</comment><comment><USER11> i work now as dev and found that if i dont split time and set some apart for reviews i.e. i'll do less of em? so i started to do the small/simple ones before i star working on my func tickets. i was eorking most of my life remotely so thats ok. have youe rituals: your morning coffe, jog or whatever else it is. if youre having coffe or tea or whaetever you do to start of "easily" your day then u can just think about what u have to do and write it down. i highly recommend to keep a log on what you plan to do and done everyday, that will help you get bet through plan and plan better. if ur half like me then you'll put in there too much stuff on beginning because i had tendency to be to optimistic :D as someone said "youre overpromising and uderdelivering to yourself". so dont.

</comment><comment><USER12> Email. Anything not communicated in an email doesn't get done. You can use the email threads as a todo list.

</comment><comment><USER13> You say your problem is that you don't do planning, so perhaps that is where you should start. As with all other methods to organise yourself (e.g. a todo list on paper), they work but you have to actually use them consistently.

</comment><comment><USER14> Email is the best tool for async work. Yes, it's meant to be uncomfortable and not fun. Fun things are toys, and slack invariably ends up being one.

</comment><comment><USER15> If people new to it are poking you more, conciously close email/slack/ticketing for a while if you are working on something.

</comment><comment><USER16> I keep a todo list in a text file and it worked really well. been doing it for last 4 years.

</comment><comment><USER16> I mostly have a list of todos in simple text file.</comment>


Twitter hack DNS change - <AUTHOR>

I configured the http://sucuri.net network monitoring to look at twitter, facebook and lots of other big sites.
That's the alert I got yesterday:
" Modifications: 3a4
< twitter.com has address 18.104.22.168
< twitter.com has address 188.8.131.52
> twitter.com has address 22.214.171.124
--- This alert was generated by the Sucuri Network Integrity Monitor. Log in to your dashboard at http://sucuri.net. "
So yes, it shows the DNS change, but doesn't tell where/how they got access. Btw, it also shows how important it is to monitor your DNS/whois for changes. <comment><USER2> That's cool and all, but it doesn't really tell us anything that we didn't already know.

<comment><AUTHOR> It tells what the IP was during the hack ( I didn't see anywhere mentioning it).

Plus, it is a good wake up call for everyone to look at your DNS more closely...

And, it shows that my little startup project ( <http://sucuri.net> ) is indeed useful :)</comment></comment>


Is Scala really more complicated than Java? - <AUTHOR> http://www.artima.com/weblogs/viewpost.jsp?thread=268561 <comment><USER2> As a personal project, I've built a simple search driven website using Scala + Lucene. The article doesn't make a fair comparison of Scala vs. Java complexity. The examples in the article are focused on Scala strengths, e.g. for-comprehensions, closures, Range classes, etc. It is true that these features are superior to Java equivalents. However, Scala is still too awkward in implementation of annotations, generics and type inference in general. For example, Scala 2.7.5 annotation problems make integration with Java Persistence API (JPA) an adhoc hack. Scala 2.8 still has serious bugs open on annotations. Generic type are fundamentally complex and while Java attempts to abstract some of the complexity related to co/contra-variant types, Scala requires a deep understanding of nuances in practical application of generics. ML type inferencer in Scala is great when it works (in simple situations) but it is a headache to figure out _why_ it causes problems in the cases when type inference doesn't work as intended. Unfortunately when the type inference doesn't work as expected one is forced to hard code type casting which defeats the whole purpose of a type inferencer.

<comment><USER3> "ML type inferencer in Scala is great when it works (in simple situations) but it is a headache to figure out _why_ it causes problems in the cases when type inference doesn't work as intended."

I've heard this many times. I think learning some formal type theory might help. It worked for me, helping me get my head around Haskell and make sense of type error messages.

<comment><USER2> "learning some formal type theory might help" -- understanding formal type theory is not a prereq for understanding Java. If you are you suggesting that knowledge of formal type theory is needed to be an effective Scala programmer, then as I pointed out, Scala is more complex than Java.

<comment><USER3> @osipov

" then as I pointed out, Scala is more complex than Java."

I didn't comment (either way) on this.

I was just trying to say learning type theory worked well for me when I was learning languages with powerful type systems (Haskell in my case), especially in understanding type errors. It may or may not work for you. It is just an experience report/suggestion.

I don't care if Scala is more complex than Java or not. Apologies if you thought I was making a claim to that effect.

<comment><USER2> No apologies needed, I thought your comment about learning formal type theory and your book recommendation were valuable. My comment was based on the premise of this thread (per the title) and the premise of the article.

<comment><USER4> An interesting thing about this article is it makes me think about _just how natural_ the english-fragments within mainstream (c-like) languages are.

Loosely speaking, a c-like English would be: "For each tree in the grove, paint on the stem"

But what would a Scala-like sentence be??? "trees in the grove - paint circles on their stems"???

<comment><USER5> That might show that idioms from C got into your english, not the other way round:

"For every cookie in the jar; I ate that cookie" vs. "I ate all the cookies from the cookie jar" vs. "The cookie jar is empty"

(the last one assumes that the cookie jar was type-safe and contained nothing but cookies)

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> I know that's totally beside the point, but I'd have coded the example like this:

        print """
            Happy Birthday To You
            Happy Birthday To You
            Happy Birthday Dear XXX
            Happy Birthday To You
        """

<comment><USER7> Your solution is:

print"""Happy Birthday To You\nHappy Birthday To You\nHappy Birthday Dear XXX\nHappy Birthday To You""" -> 103 chars

This came up on the Clojure mailing list:

(dotimes[x 4](println"Happy Birthday"({2"Dear XXX"}x"To You"))) -> 63 chars

40 less characters.

<comment><USER8> A nice trick! And can be derived directly from the "definition" of the song (that is, from the way the song is constructed). Great!

</comment></comment></comment><comment><USER9> Code that makes use of features unfamiliar to the reader appears more complicated. Of course, it may be that Scala _is_ more complicated than Java.

I don't know Scala, but it is my understanding that it provides all of Java's functionality (possibly with different syntax) for the purpose of interoperation, as well as its own features. If that's true, then the language is more complicated than Java, even if the code you actually write is not.

</comment><comment><USER10> great concise summary at the top of the article- More writers should do this!

</comment><comment><USER11> People complain about OCaml because it doesn't use parens around function arguments, and { } around blocks. Basically programmers don't like to learn anything new, which is very sad for people who are supposed to be technology- led and love embracing new ideas.

<comment><USER12> I don't think that's it. I love learning new stuff but if the new stuff is somewhat like but still different than the old stuff I have a much harder time giving it its spot.

For instance, in python I'm not usually tempted to put ';' at the end of a statement, except on lines with function calls. For some weird reason that f(x) _;_ goes completely automatic.

And every time I see my fingers do that I have to remove it again, and plenty of times I simply miss it.

It's like a violin that you've gotten used to over the years, the next violin may be a very good instrument but it will never be the one that you have this finely tuned connection with that you built up over the years. That takes years!

<comment><USER13> You do realize that f(x); is a valid statement in python?

<comment><USER12> Sure, but the ';' can be lost without penalty.

</comment></comment></comment></comment><comment><USER14> I would be highly interested in the background of the friend motivating this article. Is he a java-only-person? Does he develop/know multiple languages?

I am asking this, because just looking at this snippet, I had no problem understanding it in a glance (which rates it as not complex), given that I know and was reminded of haskells and pythons list-comprehensions, a rubys block-structure and printf (don't hit me if these things are entirely different in scala, but this is how I just read it, and apparently, it was close enough to understand what this snippet does).

</comment><comment><USER15> Complicated how? The number of unfamiliar features (Scala has stuff that Java does not)? The size of the language specification (Scala's is much smaller than Java's)?

</comment><comment><USER16> I think there are more abstractions available compared to java. That means there are possibly more things to understand before you can know how a piece of code will exactly get to be executed. Now, having more abstractions also mean the code can be more explicit and demand less "simulating in your head" in order to understand what it does.</comment>


Ask HN: Please stop tearing each other up. - <AUTHOR>

I am beginning to believe that one of the unintended casualties of Aarons' passing is that HN is dying as well. I've never seen such a rift in the community as what is happening right now.
Can we please all stop this before there is no turning back? I understand the need to grieve, this is for sure not an easy time for any of us but the amount of hate-mongering that is happening right now is really beyond the pale. Please stop. Really.
edit: those flagging this: You really have to wonder what it is that you're trying to achieve here. <comment><USER2> I think the Techcrunch article (top for much of today) is unhelpful. There's a vast gulf between aaronsw asking for help with the costs of a predictable, if improbable, legal defense that several people (including myself) felt he brought upon himself, and the implicit (via hindsight) suggestion that aaronsw was asking for the help needed to stave off suicidal behavior.

I think it's most unfair to conflate a person's legal and psychological problems as this headline does, and equally unfair to single out a contemporary critical comment from a HN participant as if that participant's skepticism about the merits of Aaronsw's hacktivism were made with an understanding of his psychological fragility. Both the original comment and this story make the mistake of assuming the worst about their subject, but there's a wide qualitative difference between peer-peer commentary on a message board and pseudo-objective commentary on a commercial news site.

As someone with a few suicidal episodes of my own, I can easily see how the stress of Aaronsw's socio-legal situation could have been a contributing factor to his suicide. However, the suicidal impulse is very often an irrational one and attempting to analyze it rationally often misses the mark completely and ends with projecting one's own views onto the dead person - doubly so where the stressors are political rather than personal and the person's death is widely viewed as an episode of martyrdom.

People are not machines, and policy issues (administrative, legislative and judicial) do not operate in mechanistic fashion. It would be a more tractable and perhaps even a better world if people were as clear and consistent as computers, but they're not. Often, we end up attacking each other as a poor proxy for attacking a problem.

<comment><USER2> _a predictable, if improbable, legal defense_

Reading this later, it sounds as if I'm critiquing his defense case. What I meant to say was that while there was a low probability of a major prosecution, it was predictable that such a thing _might_ happen. I haven't read _any_ of the defense briefs and have no opinion on what his legal defense would have been.

</comment></comment><comment><USER3> I'd like folks to stop posting every conceivable article written on it. I've cut back my visits since it happened as the home page is dominated by Aaron's stories.

<comment><USER4> Agreed. Aaron's passing is a tragedy, but the inundation of articles covering the same thing over and over is getting tiresome.

I understand people need to grieve, but I don't think Hacker News is the place to do it?

</comment></comment><comment><USER5> What rift are you speaking of?

</comment><comment><USER6> Out of respect for this request, I have posted an article (confession: my own blog post) which has nothing to do with Aaron Swartz or suicide. Unfortunately, my writings are generally of little to no interest to people here and I have no talent for finding stuff that would be of interest. But my experience is that getting people to talk about something else is generally the best way to move on. So if you wish to support this request, please post something on another topic, which has more hope of drawing interest than anything I ever post.</comment>


Cool Tools: GeekDesk - Height Adjustable Desk  - <AUTHOR> http://www.kk.org/cooltools/archives/004784.php <comment><USER2> I own two of these. On large at home and one mini at work. IT was a must after having back surgery, mostly cause by sittng all the time.</comment>


Lessons from Failed Startups - <AUTHOR> http://www.autopsy.io/ <comment><USER2> Thanks for sharing, I have lot to read now.</comment>


SSL in Plain English - <AUTHOR> http://alexle.net/archives/309

<comment><USER2> Pretty bog standard run-through-the-openssl-commands run down.

 _In my case, GoDaddy want to have 2048 (2KB) for the strength for the private key. For personal use, a key strenght of 1024 bits (1KB) would be sufficient._

1024 bits is not 1KB, 1024 bits is 128 bytes, or one eighth of a KB. 2048 bits is 256 bytes, or one quarter of a KB.

<comment><AUTHOR> Doh! I got my bit-size math wrong. Thanks for pointing that out. Post is updated now.

Regarding your "Pretty bog standard run-through-the-openssl-commands run down", well, I spent quite a bit of Googling around and have yet run across any decent articles that explain what the heck all the commands mean. So I do hope my "run-through-the-openssl-commands-run-down" article helps someone clear up the confusion.

</comment></comment><comment><AUTHOR> Does anyone know if it's true that root CAs pay browser vendors to include their certs in the browsers by default?

<comment><USER3> It depends. Some ask a payment others don't. They generally require an audit of the CA which is what is charged for. The audit is preferably done by an independent company specialize in such activity.

CACert provide free certificates and are trying hard to get their root CA certificate approved. By the time it takes I assume it is very difficult.

<comment><AUTHOR> Do you know any details about the auditing process that the independent company would perform of a CA? Since the whole signing SSL business is built around keeping a 256-byte or so private key private then this file would probably be protected pretty well.

<comment><USER4> Have a look at <http://wiki.cacert.org/InclusionStatus> and follow the links in comments. There's a lot of information about different audits done and planned, lists of rules, discussions about what happened in the past, etc.

Direct link to Mozilla rules is <http://www.mozilla.org/projects/security/certs/policy/>

</comment></comment></comment></comment><comment><USER5> A little disappointed--I thought this was going to be a top-level explanation of how SSL works to protect data, but instead it was a step-by-step "how to buy a SSL cert for your server" that honestly wasn't even that clear or concise.

<comment><AUTHOR> Sorry for making you dissapointment :) For this particular post, I didn't want to go into the nitty gritty details about public key cryptography. I'm more interesting in the practical application of SSL since there is truly a lack of a good general source to understand what's going on for applying a SSL cert and why exactly each step is needed.

Most regular people when it comes to SSL will usually don't have a good background into encryption, but they want to have something that works and help them implementing on the sites. Especially with SSL so cheap ($12.99 on GoDaddy), there should not be any reason not to implement it. It's like buying a new car, sometimes you don't really need to know how the engine works, but just know how to drive your new car by inserting the key and hitting the gas pedal.

My model of this post is after Feynman: explain it in a way to help peek the interests of the reader. Once the "why" is explained (maybe not as clear or concise as I'd want), the reader would have a clearer picture of the whole SSL business. And if he/she wants to find out more about the underlining encryption algorithm, there's always Wikipedia available for further reading.

</comment></comment><comment><USER6> Or otherwise about an industry that rakes in huge profits by executing a few command on your .crt

I wonder when or if we will get a chance to see a community signed and trusted SSL certificate provider.

<comment><USER7> Not community, but there is <http://cert.startcom.org/> .

You can also do your own (OpenSSL has everything you need).

And for a community one, you'd still need a verification mechanism and a protection mechanism for the roots; both of which could be hard to do in a volatile environment. <http://www.cacert.org/> Seems to be that, don't think they are included in any browsers by default though (it's not in mine at least).</comment></comment>


Ask: Why do people need Twitter, anyway? - <AUTHOR>

People like Dave Winer are getting pissy about Twitter - http://www.scripting.com/stories/2008/04/22/howToDecoupleFromTwitterNo.html
"How will we manage without Twitter? Necessity is the mother of invention, imho."
What a bunch of bullshit. 98% of stuff on Twitter, is, as Matt Maroon pointed out, "Going to the gym"/"Ugh, clients are so lame"/"At elitist convention/party/etc you weren't invited to, I am so awesome".
How is this valuable?
It's the information equivalent of sugar water. <comment><USER2> _It's the information equivalent of sugar water._

Here's some 2007 numbers, courtesy of Yahoo Finance:

Coca-Cola Company (KO): $6B net profit on $29B revenue

Pepsico (PEP): $5.6B net profit on $39.4B revenue

Google (GOOG): $4.2B net profit on $16.6B revenue

Microsoft (MSFT): $14B net profit on $51.1B revenue

I'd say that, while Microsoft Windows _is_ more profitable than sugar water, the soft drink industry is holding its own. Of course, Pepsi and Coke know how to _monetize_ sugar water...

Paging John Sculley! Where is he when we need him? He wasn't the world's greatest tech CEO, but he sure knew the value of sugar water!

<comment><USER3> And how's Altria (aka Philip Morris) doing?

<comment><USER2> I would go there, but comparing Twitter to high-fructose corn syrup is already unfair enough. ;)

</comment></comment></comment><comment><USER4> Why do you care?

The reality is that most human conversations are fluff. If you could listen in on everyone's cell phone calls, do you think they would sound very different?

<comment><USER5> Doug Adams had a story about that, coincidentally involving birds: Aurthur Dent taught himself the language of birds. It turned out that birds are mostly chattering about the wind, and seeds, and who got whose feathers ruffled, etc.

Humans are crashingly boring. We fart, we scratch, we worry about our hair and our petty insecurities.

<comment><USER6> THE Aurthur Dent? I miss him so...

</comment></comment></comment><comment><USER7> People don't seem to understand the social dynamics behind stuff like this. First, understand that people are becoming increasingly more comfortable with exposing themselves online. Second, people really want to brag and let others know about themselves, despite what they say. They feel their lives are important and want to weave their lives into the entire cloth of social happenings. Third, think of twitter as a widdled down Facebook wall. It provides a mediator to both communicate with close friends with closeness and acquaintances with a comfortable sense of distance. This all compounded with the fact that many people like to feel like they are a part of an extensive community makes understanding sites like Twitter a bit easier.

Twitter is providing a more efficient way of letting people know what you're doing. The same was done using a phone but no one really complained about the garbage spoken over phone lines. Think of it as a less dynamic version of instant messaging.

</comment><comment><USER8> twitter takes its value from the people that use it. if you use it as a tool, its useful as a tool. if you use it to bullshit, then what you get out is bullshit - it won't magically change that.

just like, for example, a boat is useful if your profession is fishing or something that requires you to be on the water, but a boat is a hole in the water where you throw your money if you have a boat for recreational purposes.

such is twitter. use it right, and its useful and good. use it for fun or trivial purposes and its kind of silly.

another good analogy for twitter, i think, is the boy who cried wolf. i'll read peoples tweets when they only have one a week or something, because i know its meaningful/profound/etc. and thats the purpose -- to be able to quickly and easily contact a lot of people via a lot of channels. but if you have 30 a day, i won't read a single one.

<comment><USER9> Clearly a man who has never spent time on a boat. If you ever want to find out why Twitter is irrelevent, learn how to sail and disconnect for a week. You will learn a lot about how meaningless Twitter is once you disconnect from email/phone/internet/tv/radio for a week and feel incredibly liberated. If you want to find an idea that will change the world, disconnect from it all for a short period. When you come back the first thing you will do is cancel your Twitter, aim, etc and the next thing you will do is start doing something meaningful to more people than just those who are plugged into the net 24 hours a day.

<comment><USER8> ironic that, as a person who clearly spent time on a boat, you're still posting on HN in a twitter thread instead of curing cancer or something.

<comment><USER9> You certainly won't find me on twitter/irc/aim, but I read Hacker News because there are generally intelligent stories. And a "Do you need Twitter' thread is right up my alley. Actually I work on computer vision not cancer, but if it ends up working out cars will drive themselves and some lives will be saved. It probably doesn't pay as well as founding a throw away social networking Web 2.0 whatever, but it is more fulfilling than networking on Twitter all day to see if I can get my noticed for something.

</comment></comment></comment></comment><comment><USER10> Because you don't see the immediate value of Twitter doesn't negate it's usefulness to others. Personally, I found who could very well be my future business partner through Twitter and Twitter maps. Sure, "going to the gym" might not be so exciting, but I found it incredibly helpful to quickly logon, type "I'm behind Coffee Underground" and a friend was able to find me so we could talk about business.

Furthermore, it's just a good way to keep track of what you need to know from people. Not everyone tells you useful information, but not every author who has a book published is worth reading either. It's a different experience from everyone and that's the beauty of the Internet. _There are no archetypes for how you use it_

<comment> t-dub Would calling your friend instead of using Twitter been a disaster? It seems like a broadcast medium like Twitter was completely inappropriate to use in that instance. Contacting the one person who you wanted to reach directly would have made a lot more sense. This is the sort of mentality that turns me off to Twitter is that it's the end-all, be-all of communication. Use the right tools for the right purpose.

<comment><USER10> No. However considering I met him on Twitter, and I was already online at the moment, it was _convenient_. Probably the most overt thing people are missing about Twitter. I know that he checks it regularly, which is less than I can say about his skills at answering a phone call.

It's not a matter of "sense". If I could recount the number of times that people told me Facebook was irrelevant because "email" existed and I could use it for the same reason I use Facebook (to stay in contact with people), we'd be here all day. The fact is, I've connected with lots of people in my industry and area with Twitter, and lots of them if not all have become valuable assets in what I do.

I wouldn't be so crass to quickly dismiss it as THE method of communicating. The marketplace wont let that happen, and social dynamics wont let that happen; and in my opinion I think that is another crucial thing people fail to realize when stacking Twitter up against traditional communication: the social dynamics of how useful it can be.

But again, there's no archetype for how you use this type of service, or any service. It just so happened I was online at the moment, I knew he was online (by virtue of the fact that he had posted a tweet not even 10 minutes earlier) so I alerted him to where I was.

It's really that simple.

</comment></comment></comment><comment><USER11> Modified quote: "How will people like me who really like Twitter and use it in personally useful ways going to manage without Twitter?"

 _You_ might not be that person (note: I'm not), but to assume the other types don't exist or that their reasons for valuing Twitter are mis-guided is a bit grand.

</comment><comment><USER12> I think any information is a valuable information even if that means that "twitter-shitter" is talking about poop jokes.

Tools build on top of twitter which will mine the sea of this information, filter out interesting data and the extract some sense out of it will really make the experience better. Don't see too many creative tools build yet, but can't see why they would mature given enough time.

</comment><comment><USER13> I use the service, but I have a hard time believing 99% of 'Net users will ever adopt it, especially if Facebook and IM services start adding similar functionality.

More here:

[http://www.thestandard.com/news/2008/03/30/twitter- fanatical...](http://www.thestandard.com/news/2008/03/30/twitter-fanatical- users-help-build-brand-not-revenue)

</comment><comment><USER14> <http://www.penny-arcade.com/comic/2008/4/23/>

</comment><comment><USER15> People who make their livelihood out of writing about the tech industry understandably find it an invaluable tool. The rest of the world does not.

I actually enjoy Twitter, I just don't need it, and I can see why most people would just be annoyed by it.

</comment><comment><USER16> It gives Micheal A something to write about...

</comment><comment><USER17> I just started using its embedded feature to manage the "latest news" micro blog on a production site.

</comment><comment><USER18> here's a good explanation:

<http://www.southparkstudios.com/guide/1206/>

</comment><comment><USER19> Repeat argument for YouTube videos, blogs, IM, SMS, personal web pages, web pages, gopher pages, email, IRC, bulletin board systems. Win.

<comment><USER20> It's true... most of these systems are accomplishing the same things in different ways. What annoys me is that everyone expects me to jump on the same boat they're on.

</comment></comment><comment><USER21> You're old.

Twitter is in 2008 what checking AIM away messages was back in 1998.

Welcome to the long tail and all that jazz.

99.99% of everything is boring.

Join Second Life if you want something unique.

Internet is just a wasteland.

Web 1.0 was creating the playground for information. Web 2.0 is about sharing more information. Web 3.0 will be about how to extract utility out of information.

I can go on and on about pithy pseudo-analysis but you should just keep listening to Matt Maroon.

</comment><comment><USER22> I'd demand a refund if I were you.

<comment><USER23> If you don't like this yc post, why don't you demand a refund?

Silly argument.

</comment></comment><comment><USER24> Twitter may not be invaluable in itself, but as a signpost indicating the direction the social world (and the world at large) is heading, it's not bad.</comment>


Big Companies Thought Insurance Covered a Cyberattack - <AUTHOR> https://www.nytimes.com/2019/04/15/technology/cyberinsurance-notpetya-attack.html <comment><USER2> its pretty spectacular what major insurance does not cover in the digital context.

For example, I work as an automotive engine mechanic for a small chain of midwestern shops. Recently we had a Tesla owner drive in for servicing a recalled suspension control arm. We were approved to do the work by Tesla and had the parts shipped directly from California. once the work was completed, we informed the customer in the waiting room, who immediately took it upon himself to "auto-pilot" the car out of the garage while it was still on the lift.

The car happily obliged, and backed itself off a lift six and a half feet to the ground in a pretty spectacular display. No one was hurt thankfully, however our shop insurance refused coverage for our damaged lift, and the Tesla owners auto insurance refused coverage as well because he was technically not driving the car at the time. The customer had to pay out of pocket for repairing his car, as well as our lift.

<comment><USER3> I'm not sure to understand, is there a thing to have your car drives itself home on the press of a button, from the internet?

<comment><USER4> It lets you go forward and back. Only works if you are within Bluetooth range and keep your finger on the button in the app. If you let go the car stops. It will actually make minor turns to avoid hitting stuff. Though apparently not going off cliffs.

Good for a party trick but in general I have yet to find a good real use case for it.

Using it without being able to see your car is pure idiocy.

<comment><USER5> >Good for a party trick but in general I have yet to find a good real use case for it.

It's particularly hilarious when you and several buddies are watching the meter maid try to put a ticket on it. It's probably occasionally useful for adjusting a car in the driveway but yeah, it's 99% party trick.

It could theoretically be useful for attaching a trailer but most Tesla owners aren't doing that and the collision detection system will probably go crazy and prevent you from getting close enough to the trailer to actually couple it to the car.

<comment><USER6> Yes, humiliating other people is hilarious...

<comment><USER5> I assure you it wasn't nearly as big of an obstacle to the guy writing the ticket as you think it would be. Humans are very good at improvising when a new situation is thrown their way.

<comment><USER6> I assure you, bothering someone like this when they are trying to get through their day is not hilarious to that person. Not only did your friend act like an ass and part illegally or over the time limit, but they then risked possibly running over a person's foot or something while fucking around.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> This is messy. On one hand, how are insurers supposed to properly cost and be able to provide payouts for a "cyberattack", which might be anything from "our company website was DDoSed for 30 minutes and we lost 50 customers" to "our production lines were shut down and our company ground to a halt for two weeks"?

On the other hand, if insurers know they can invoke a cyberwarfare clause and deny a claim, even if the attack may not have been state sponsored, the insurance is certainly worthless.

<comment><USER8> IMO this feels like the whole point of insurance. You could restate this as "how are insurers supposed to cost and provide payouts for fires in the factory? It could be anything from a tiny, contained garbage can fire to the whole place going up in a blaze! [0]" Or chemicals in the case of TSMC [1]. Or blackouts at Samsung [2]. Any of this could have been industrial espionage on the same scale as a state-sponsored cyberattack. This is the domain of actuaries.

Of course, they're neither required nor obligated to provide such cover.

[0] [https://www.extremetech.com/computing/166775-ram- pricewatch-...](https://www.extremetech.com/computing/166775-ram-pricewatch- memory-spikes-in-wake-of-hynix-fire-but-for-how-long)

[1] [https://asia.nikkei.com/Business/Companies/TSMC- takes-550m-h...](https://asia.nikkei.com/Business/Companies/TSMC- takes-550m-hit-from-defective-chemical-at-chip-plant)

[2] [https://www.anandtech.com/show/12535/power-outage-at- samsung...](https://www.anandtech.com/show/12535/power-outage-at-samsungs-fab- destroys-3-percent-of-global-nand-flash-output)

<comment><USER9> Where I live you pay premium, let's say $50 a month and then you get let's say $10000 of your damages covered. So that is what you get from insurance company $10000 and the rest is yours to pay. They just look at the probability like "hey this guy is storing fuel, fire insurance for someone who stores fuel is $100 a month and we can pay only up to $20k".

So it is easy to calculate for insurance companies, they don't go over the factory inventorying what you have in factory.

      It is your responsibility. (they only go after to see what was damaged, because that i what they care about)

Of course you can pay some insurance expert to assess your assets and tell you to buy more expensive or less expensive insurance but there are no magic super specific algorithms for "if 10 people die we pay $50k if 20 people die we pay $100k". All insurances pay up to some amount based on what is your monthly/yearly payment.

</comment></comment></comment><comment><USER10> It might actually be a good thing in the long term as insurance companies may require 3rd party audits and that you comply with basic security practices.

<comment><USER11> It might well kill the use of open source and small-company software in business, in that the developers/management behind said code can't pay insurance companies to say that their code will pass audit. Microsoft and Oracle will pass with flying colors, of course.

<comment><USER12> Doubt it, there are a lot of PCI Compliant businesses that get audited with open source software in their systems. I'm sure they have a node_modules somewhere on their build server.

When you have an attack that moves from your servers to your desktop computers, you have a network issue, which would be covered in an audit to verify you properly segment your network instead of having it in one large broadcast domain.

</comment></comment></comment><comment><USER13> Interestingly, this might be the solution for digital security.

Get a nany state (Hello California) to force companies to have Insurance for Cyberattack.

Insurance companies will learn instantly how to do due diligence for-real (as opposed of for compliance certification) to decide if they get clients or not.

Companies then, forced to have insurance, will have to implement minimal safeguards to be accepted in the insurer policy requirements.

Problem solved.

<comment><USER14> If the business lost $100M as claimed, they may want to pay for cyber-attack insurance without being required to do so.

</comment></comment><comment><USER15> Wow, this is huge. If cyber insurance doesn't cover cyber attacks, then what does it cover? Having seen the process for cyber insurance paying out for an intrusion, I'd be super concerned if I were a CSO/Chief Risk Officer and there's a chance the cyber insurance wouldn't cover you.

<comment><USER16> Seems a very odd strategy for cyber-insurance companies to take... If I were a large company insured by Zurich right now, I would definitely be reconsidering giving them my money.

</comment></comment><comment><USER17> There's massive room in the market for a security-first company that offers insurance as a guarantee.

This company would essentially operate as the security team for clients and put in contractually enforced policies and follow through on implementation. If a client decides to not implement required security practices, then their policy immediately gets dropped.

This is the only scalable way I'd see to implement real insurance against cyber-attacks.

<comment><USER18> Our startup is working on this problem, initially for the javascript ecosystem. We're offering insurance against vulnerabilities in javascript dependencies: [https://bitauth.com/](https://bitauth.com/)

We have open source developer tooling for signing and verifying signatures of javascript packages, and we're offering security as a service, backed by up to $1M in insurance coverage.

We're still in beta, but we'd love feedback from HN!

</comment></comment><comment><USER19> Most insurers require customers to limit their risk in all kinds of ways.

I'm curious if there are cyber mitigation's that are out there, such as mandatory two factor authentication, requiring up to date software and OSes or other measures. It seems like any insurance company would Be highly Interested in forcing these best practices.

<comment><USER20> You can do 1,000 things right, but one thing wrong may still sink you.

With cybersecurity, there is an active adversary. I'm not sure insurance ever wants to take on that kind of risk. If they don't want that risk they shouldn't sell insurance.

</comment></comment><comment><USER21> If you are a large target many actors will be looking for your weaknesses. One bad actor will eventually find it, or just trick your employees to give them access.

Companies should make a solid effort to prevent the possibility, but I'm torn on what ramifications should be.

<comment><USER10> > One bad actor will eventually find it, or just trick your employees to give > them access.

or do what the Russians do and use kompromat

<comment><USER22> What is "kompromat"?

<comment><USER23> It's leverage over an individual--whether that's secrets that might be released, financial problems, or whatever.

</comment></comment></comment></comment><comment><USER24> Similar to not relying on cyberinsurance when things go awry, the field as a whole is in an interesting shape where on one hand there is a dearth of skilled employees (1 million globally supposedly, according to reports), and on the other hand companies that do not want to train IT works with the necessary cybersecurity skillsets to fill the gap, and in turn rely less and less on the red herring of cyberinsurance. Talking to my colleagues who are looking to break in, even after taking training/seminars, which can be quite pricey, employers will tend to hire for junior roles at best.

</comment><comment><USER25> Sounds like a big "out" is claiming an attack was an act of war. But very few nations declare war nowadays. They have "police actions" or "peacekeeping missions.

Maybe telling these companies "no war was declared, so you must pay out" would be a good thing.

Insurance companies are powerful lobbyists both in the traditional K street sense, and the soft power sense.

(For the soft power sense, picture a major insurance company telling a nation state their state owned businesses can self insure moving forward, since the business cannot handle the risks they generate.)

<comment><USER26> > Maybe telling these companies "no war was declared, so you must pay out" > would be a good thing.

That goes against centuries of precedence. The only difference now is that it was "on the Internet".

</comment></comment><comment><USER27> how can in insurance company declare a state of cyberwar, or any other war in general. I thought that was exclusively a government function.

By extension could we deny coverage when a bunch of crackheads raid someones home, simply chalking one up to the war on drugs?</comment>


Notes from Ha-Joon Chang's Lecture at NYU - <AUTHOR> http://10tonfunk.tumblr.com/post/4052159020/notes-from-ha-joon-changs-lecture-at-nyu-on-23-things

<comment><USER2> For me the most insightful parts were the quotes about progress in developing countries.

> The reason this (entrepreneurship in developing countries) > doesn't result > in wealth is entrepreneurship is rarely an > individual event now, if it > ever was. You need social > infrastructure; corporate, legal and financial > systems.

I read this as saying that the whole system needs to change for development to really happen. Unfortunately, a number of rich and powerful vested interests, want to and are able to preserve the status quo quite successfully.

</comment><comment><USER3> Oh yeah, I read the book. It is really insightful and interesting. After I finished it though, I decided to read something of the opposite point view, of the free-market economists (I would recommend "Economy In One Lesson" by Henry Hazlitt). It's very simple to fall into the trap of "oh, this mans knows what he's talking about" unless you compare. Actually, the more you read, the less sure you are about things.

For example, Hazlitt shows how inflation, even if not too high, is harmful for the economy and basically his arguments did not seem weaker - which confuses me even more. One thing Ha-Joon Chang does really good when arguing is showing a lot of statistics. That is definitely a very strong point of this book which even the most ingenious free-market economists would find difficult to stand.

</comment><comment><USER4> Can someone please explain to me why a site that is primarily preoccupied with entrepreneurship is filled with socialists? People start ventures to make money. To create disproportionate wealth. Are you people just compensating for your internal selfish desires that you can't come to terms with? Genuinely curious.

<comment><USER5> Having a healthy skepticism towards capitalism and the "free market" does not make you a socialist. I'm equally skeptical about rampant socialism. The answer is in the middle somewhere. An ideologically impure position perhaps, but a pragmatic one none the less.

Being an entrepreneur isn't incompatible with social capitalism. Just because you want to start a business and earn buckets of money yourself, doesn't mean that you must be against a social safety net. Why would it?

<comment><USER4> _Being an entrepreneur isn't incompatible with social capitalism._

You're right, it isn't. And, of course, nothing is stopping a pacifist from joining the military. After all, he can get a desk job. What I want to know is _why_.

Certain personality types are attracted to specific ideologies and in turn, specific careers. Why is somebody who is fascinated with wealth redistribution and income equality spend his time on a site which is devoted to the _exact opposite_ on a personal level?

Simply drawing a dividing line between society and the self is not an answer. Most people have a congruent perspective when it comes social policy and their personal policy.

Why are these people different?

<comment><USER5> My guess is that the people who frequent Hacker News are mostly not attached to one extreme ideology or the other. They like the creative freedom and empowerment that a capitalist society brings, but also the knowledge that if they fall on hard times then there is a safety net that keeps them off the streets. Remember, we can't all be winners all of the time, sometimes bad stuff happens to good people. Smart people know this.

Life isn't black and white and ideologies don't need to be either.

<comment><USER4> _They like the creative freedom and empowerment that a capitalist society brings, but also the knowledge that if they fall on hard times then there is a safety net that keeps them off the streets. Remember, we can't all be winners all of the time, sometimes bad stuff happens to good people._

I understand now. That's the key.

Just my two cents, but it looks to me like there are two types of entrepreneurs. Those who believe in themselves completely and those who believe in luck to some extent.

If you believe in yourself completely, any failure stems from yourself and can be corrected. No need for a safety net, just correct the error and keep going.

Luck, on the other hand, is not something that can be controlled. It just happens or it doesn't, requiring a safety net in case it doesn't happen.

Makes sense to me now. Thank you.

</comment></comment></comment></comment></comment><comment><USER6> "George W. Bush: "The problem with the French is they don't have a word for entrepreneurship.""

see: <http://www.snopes.com/quotes/bush.asp>

Things like this make me question the veracity of every other statement in the article.

<comment><USER7> It's not possible to deduce where this comes from:

a) the talk / book b) added by the blog author

On top of that, even if it was from talk, you don't know whether it was added in jest or in earnest..

</comment></comment><comment><USER8> oh man, i wish that George Bush quote were true.

</comment><comment><USER9> This is a pathetic article and I'm ashamed to see it on a news site I respect. This leftist ideology is HN's Achilles heel.

<comment><USER10> My leftist friends think I am a hardcore capitalist. My rightist friends think I am an irrevocable socialist or communist. They don't put me in the middle ground.

Hackers like to point out the flaws in all kinds of systems. So be prepared to be ashamed at least some of the time. Some people just like to think about how to improve the systems.

<comment><USER9> The middle ground between right and wrong is wrong. Anyway, neither of those alternatives is right.

I like hackers who point out flaws in any system, but this article does not do that.</comment></comment></comment>


Twitter Acquires Palo Alto-Based Scalable Computing Startup Ubalo - <AUTHOR> http://techcrunch.com/2013/05/09/twitter-acquires-palo-alto-based-scalable-computing-startup-ubalo/

<comment><USER2> I went to the same high school as Ubalo CEO Jacob Mattingly, and even in a school full of smart people he stood out as particularly talented. I also saw his presentation at RICON last year and was impressed with the potential of their technology for facilitating API sandboxes and lowering the barrier to entry for developers. I'm happy for Ubalo that they've been successfully acquired and wish them all the best!

</comment><comment><USER3> Does anyone know anything about Ubalo's IP?

<comment><USER4> No idea, but I'm of particularly interest because their performance numbers are abysmal. There has to be something else going on here.

1 second per thousand records is not fast :/.

<comment><USER5> It says right in the article, it is an acquire.

I've had Twitter sniffing around my last two startups looking to bring in talent. At this point I just don't think they are getting qualified engineers applying.</comment></comment></comment>


Our aim is to remove 90 % of floating ocean plastic - <AUTHOR> https://theoceancleanup.com/ <comment><USER2> Is river interception high enough up the chain to help? What about aiming to reduce single use plastics with taxes/fees either at the consumption or manufacturing side?</comment>


Unique way to render a thread - <AUTHOR> https://sublevel.net/re/26425/ <comment><USER2> Took me a while to work out this was upside down compared to what twitter does. Once I figured that out it made a little more sense.</comment>


<script type="text/jquery"> - <AUTHOR> http://ejohn.org/apps/jquery2/ <comment><USER2> Interesting to see this get linked to - this was a little hack that I did back in 2006 and haven't touched it since.

In short it was an experiment to develop an alternative syntax to jQuery (I've always felt that jQuery's syntax and idioms are very much like a domain- specific language for traversing and manipulating the DOM). One of my primary reasons for creating jQuery was to develop a library that had very little syntactical overhead. This jQuery^2 experiment was trying to take it to the next extreme (almost no syntax, just some whitespace). To do this I built a very-hacky parser and search through the page for scripts that have a type of "text/jquery".

You'll note that the script that runs the page is actually in this meta- language. Also note that the code in the textarea compiles to some nonsense that doesn't actually run on that page. I was mostly just throwing in code to test the parser.

Projects like Cappuccino have taken this idea to the extreme and developed complete languages on top of JavaScript that are much more functional than what I present here.

Glad people are finding it to be interesting, though!

<comment><USER3> This is actually pretty neat. I'd much prefer it to what jQuery source looks like today.

And I'd argue there's no reason _not_ to want to optimize the syntax like this.

</comment></comment><comment><USER4> This is timely. This morning I was trying to work out what steps I'd need to go through to create a parser and interpreter for another syntax in javascript. I'm seeking to write a personal organiser in my browser but dislike the javascript syntax, and was wondering what I'd need to do to get an iolanguage syntax in js.

I found someone who had already done somthing similar using ometa. Here's a smalltalk syntax in javascript: <http://tinlizzie.org/ometa/ometa-js-old/>

Unfortunately I never practiced the stuff I learnt in 'language translators' at uni and have forgotten the details. This source may be useful, although I'd prefer it to work dynamically rather than having a compile stage. Other advice welcome.

<comment><USER5> "This source may be useful, although I'd prefer it to work dynamically rather than having a compile stage."

If you're making it "work dynamically" then that's an interpreter and you can typically expect a 10x slowdown. I'd go the compilation route personnally.

</comment></comment><comment><AUTHOR> Source: <http://ejohn.org/apps/jquery2/parse.js>

</comment><comment><USER6> Another idea would be to compile this code on the server side as part of the build process. Then we don't care how fast the browsers are: they only see pure JavaScript. This brings up an interesting point: when doing C optimizations a pretty typical thing to do is to unroll loops and inline functions. Would this help any with JavaScript, given that loading time is fairly expensive compared to a local binary executable? Would be interesting to test this.

<comment><USER7> JavaScript compilers (in the sense of Java->JavaScript, not V8/TraceMonkey) already do this. Surprisingly inlining can help quite a bit in JS; due to how JS is "specified", there is extremely little room for interpreters to perform optimizations. Inlining code can save browsers from having to do lots of lookups and dereferences to functions in tight loops.

Scheme2JS, ocamljs, haxe, and others all do inlining. The code size gets a little bit larger, but if you have actual performance problems in loops, it can be worth it. Minify-ing and zip usually make JS code sizes trivial anyway.

<comment><USER8> the Google closure compiler also does inlining on the top settings (compilation_level = ADVANCED_OPTIMIZATIONS) <http://code.google.com/closure/compiler/docs/api-ref.html>

</comment></comment></comment><comment><USER9> It's actually a few years old (and it uses jquery from 2006).

</comment><comment><USER10> This looks very good. I think it shouldn't necessarily be JQuery centric, but a JavaScript abstraction in the sense that HAML and SASS reduce the verbosity of HTML and CSS. I personally do the worst thing when I write JavaScript by omitting semicolons, but I just can't see through all the punctuation clutter, and I don't want to make all those un-necessary keystrokes. I also omitted "this" keyword whenever possible in OOP ActionScript, but PrototypeJS OO programming makes me do it. I love how the Ruby scope deals away with that.

</comment><comment><USER11> I wish there's a browser that implements jQuery in binary natively.

<comment><USER6> That's generally a bad idea. Think about the different versions of jQuery that come out right after a browser version does. On top of this, what if you want to use a different library. How would we choose to use jQuery as opposed to Dojo or Prototype, etc.

I think the way things are right now, it works just fine with one small exception: I got spoiled by jQuery. I do everything in it. I don't mean just web projects, I mean I do command line stuff with it. I have Firebug installed and so every time I end up on a website where I need to extract some information out of it, I fire up Firebug and do something along the lines of this:

(function(){ var x = document.createElement( 'script' ); x.src="[http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min...](http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js); document.getElementsByTagName('head')[0].appendChild( x ) } )();

// Wait for jQuery to load...

jQuery('span.comhead').each(function(){ console.log( jQuery(this).text() ) });

It would really be ideal if Firebug shipped with jQuery built in, or at least have an option. This way I wouldn't have to do this every time I want to do some DOM-fu. Come to think of it, I should make this I should publish this bookmarklet.

<comment><USER12> Good idea, but it's been done.

jQuerify bookmarklet: [http://www.learningjquery.com/2009/04/better-stronger- safer-...](http://www.learningjquery.com/2009/04/better-stronger-safer- jquerify-bookmarklet)

<comment><USER6> Very cool. Noted, bookmarked and blogged ([http://igorpartola.com/web- development/add-jquery-to-any-pag...](http://igorpartola.com/web- development/add-jquery-to-any-page-for-some-dom-fu)).

</comment></comment></comment></comment><comment><USER13> errr, how do I write arbitrary javascript?

but it looks like nice cross of python and js

[edit] and running didn't do anything on chrome...

</comment><comment><USER14> a lexer/tokenizer in js. hmm. i love how we've got new fast JS engines, but really? this fast?

<comment><USER15> cappuccino and all that... they got a new language with compiler all in javascript :) objective-j it is like objective-c but for javascript

<http://cappuccino.org/learn/>

ps: they will never do asm the way we did :)

<comment><USER3> For what it's worth, all of us have programmed 68k assembly.

<comment><USER15> then you likely feel the gap too :)

</comment></comment></comment></comment><comment><USER16> Nice

</comment><comment><USER17> Can someone please explain what this is, and why it would be useful?

<comment><USER18> It's a cleaner syntax for writing jQuery functions. As you can see, it's translated into jQuery code.</comment></comment>


Ask HN: AWS vs. GCP networking for large scale deployments - <AUTHOR> - what are the main technical differences in the way networking is implemented in AWS vs GCP ?<p>- Are there any commonly used networking solution with physical hardware (Cisco, Arista etc.) that doesn't work well or needs a redesign to work with either provider ?<p>- What are the potential gotchas with either when running at scale. <comment><USER2> What exactly are you trying to achieve? Your questions are very vague and can't be answered this way.

</comment><comment><USER3> What do you mean by large scale?

<comment><AUTHOR> few thousand EC2 instances ideally in a flat L3 network (using BGP)

<comment><AUTHOR> To be specific, the requirement is to run containers on all the instances. Container connectivity will be through a L3 network using BGP

</comment></comment></comment><comment><USER4> I'm sorry if this comment is off topic but I've tried searching everywhere. I've called GCP support and now I have not other options. If someone here works at Google please help us out?

Problem: Google Books API has a quota of 1000 requests/24h. To get more, you need to send a form to Google. However, it seems whoever was responsible for checking quota requests has abandoned it. I understand Google Books API is probably a niche department within Google.

If you search through the Google Books API forum, you can see several posts by users who have been waiting weeks and months for requests with no reply from Google. Example: [https://productforums.google.com/forum/#!topic/books- api/O3-...](https://productforums.google.com/forum/#!topic/books- api/O3-xo5Y7Slw;context-place=forum/books-api)

Most developers and I are willing to pay for a quota increase, but can someone at Google please help us out?

<comment><USER5> Try creating a Ask HN topic yourself instead of trying to hijack an unrelated thread</comment></comment>


How We Nearly Lost the Discovery Shuttle - <AUTHOR> http://waynehale.wordpress.com/2012/04/18/how-we-nearly-lost-discovery/ <comment><USER2> "We informed the foam technicians at our plant in Michoud Louisiana that they were the cause of the loss of Columbia..."

That to me is pretty disgusting. In an incident like the loss of Columbia, there is no one, true "root cause". To assign blame to those foam technicians was disingenuous and just another instance of "passing the buck" that seems to happen so often in the post-mortem of NASA failures. NASA knew of earlier foam strikes (STS-112) yet chose to continue flying without diagnosing the problem. Even during the tragic STS-107 flight, engineers knew of foam strikes and their concerns were ignored. Even though they would have been almost completely powerless to remedy the situation on STS-107, the higher-ups decided to continue on with the mission instead of addressing the concerns with the heat shields. The article author states later in the article that he apologized to the foam technicians. Commendable, but I am still bothered by the fact that NASA was initially so eager to place the blame on a single contractor instead of owning up to their own culpability. Leadership and responsibility needs to come from the top, especially in such a prestigious organization!

<comment><USER3> Understand the type of organization NASA is. First, accountability is everything. It's not that there are big internal political struggles (there are), but more importantly accountability is required for high safety. We aren't talking about a 10 person startup where a bad commit to production takes down a site for a few hours. We're talking about people's lives, careers, and the safety of millions of people that could be negatively affected by a crash or explosion.

When he talks about it being their fault, it's not that those engineers are being singled out for punishment and derision. They had to find out where the problem existed that led to the loss of Columbia, and after extremely thorough testing they believed it existed with the foam team. It's simply a matter of finding where a problem is and doing everything you can to fix it.

So it's not a personal, vindictive "your fault", its an impersonal "the problem is here, lets fix it".

<comment><USER4> > accountability is required for high safety

It's not. That's complete bullshit, and the On-Board Software Group demonstrated it by being as flawless as can be during the whole history of the Shuttle: as far as I know there was _no_ personal accountability in the OSG, the only thing accountable was The Process supported by a strong culture of adversarial testing.

Personal accountability in such a system brings politics and career advancement in focus and leads to issues being shoved under the rug when inconvenient and energy being expended in finger-pointing and blame games rather than fixing problems.

> So it's not a personal, vindictive "your fault", its an impersonal "the > problem is here, lets fix it".

No, it's not. Accountability is very precisely "your fault", that's all it is. That's pretty much the definition of it.

<comment><USER5> There may not have appeared to have been any personal accountability, but make no mistake if anything had gone wrong with the On-Board Software the EXACT same accountability process would have been initiated to ensure that the same human error did not occur for a second time.

<comment><USER4> Very unlikely, unless that had been imposed on the group by an external, blame-oriented entity.

Left to its own devices, the group would most certainly have operated as it did every time it found fault in its output: find out how The Process had allowed for a fault to be introduced and reach output, find out how to make The Process prevent the introduction and/or release of such faults, fix The Process.

So no, the "exact same accountability process" would most definitely _not_ have been initiated within the group, a very different one would have taken place.

</comment></comment></comment></comment></comment><comment><USER6> Every Shuttle in the fleet has had one or several extremely close scrapes with death. To look at the Shuttle record and see the history of calamity it's easy to think that we just had bad luck, but quite the opposite was the case. We were enormously lucky with the Shuttle, in a fairer world we would have lost more of them, and sooner. The Shuttle was plagued by many fundamental design flaws which combined to make it an inherently unsafe system. Within the last years of the program that knowledge finally started to sink in, which is why the Shuttle was essentially restricted to missions to the ISS.

Some of the achievements of the Shuttle program have been inspiring, and the vehicle itself is pretty to look at, but we should have canned that program long, long ago.

<comment><USER4> In that, the Shuttle was very much like the Concorde: a unique and complex system beyond the edge of knowledge (at its creation), full of flaws and working through a combination of sheer luck and heroic efforts.

<comment><USER7> Actually the space shuttle is the safest launch vehicle to date. From the ones that have at least 100 launches (in order to be able to properly compute stats for them), here are their failure rates as taken from [http://www.ontonix.com/Blog/Outliers_- _understanding_Nature_...](http://www.ontonix.com/Blog/Outliers_- _understanding_Nature_throught_her_anomalies) :

2% US Space Shuttle

5% R-7 (Russian Soyuz)

5% Ariane 1-4 (European)

6% Tsyklon (Russian)

7% Kosmos (Russian)

10% Thor/Delta/N1/N2/H1 (US)

11% Titan 2/3/4 (US)

12% Proton (Russian)

13% Kosmos 2 (Russian R-12)

14% Atlas (US)

<comment><USER8> I was involved in a similar discussion a couple of weeks ago. I was looking at the same figures you were and complimented the space shuttle because of it.

I was wrong, and you're making the mistake that I did. Namely confusing reliability and safety. A reliable rocket is one that successfully does what it is supposed to. A safe rocket is one that doesn't kill people.

The US space shuttle has proven to be more reliable than the Soyuz. It is more likely to actually get you into space. But the Soyuz has been safer than the US space shuttle. If you try to get into space on it, you're less likely to die.

If this seems impossible, consider that in both Soyuz 18a in 1975 and Soyuz T-10-1 in 1983 the rocket failed, but the cosmonauts survived. (In the first case the rocket failure happened 90 miles in the air, but the cosmonauts survived.) The space shuttle, by contrast, had no successful aborts.

<comment><USER9> The video of T-10-1 is stunning:

<http://www.youtube.com/watch?v=UyFF4cpMVag>

That the people on that rocket escaped with "bruises" is amazing.

<comment><USER10> So, this is why you top-load the crew compartment, and not side-load like the shuttle. There's no eject-system that could have saved a space shuttle in a situation like that since it would be engulfed by flames together with the rocket itself. This is also how SpaceX are doing it and for exactly this reason iirc.

<comment><USER9> Well, you are definitely right that people should go on the top of rockets, not near the middle.

The Challenger explosion could have hypothetically been survivable though. In fact, the explosion itself _was_ survived, likely by all of the crew. The crew cabin ([http://upload.wikimedia.org/wikipedia/en/thumb/4/42/Challeng...](http://upload.wikimedia.org/wikipedia/en/thumb/4/42/Challenger_breakup_cabin.jpg/225px- Challenger_breakup_cabin.jpg)) remained intact and possibly pressurized after vehicle breakup. The crew were almost certainly alive (and if the cabin remained pressurized, could have been concious as well) for nearly 3 minutes until it hit the ocean at over 200 miles per hour.

At some point during those 3 minutes, I don't know if the SR-71 ejection seats used for the first few Shuttle launches could have improved their chances of survival, but it seems at least somewhat possible that it could have. A parachute system for the crew cabin probably wouldn't work for the same reason the launch abort system on the proposed Ares was flawed (flying burning solid fuel going everywhere in the air is bad for parachutes)... nevertheless I think it is conceivable that you could build a Shuttle that would allow the crew to survive an accident like that.

But really, just stick the people on top. It makes _way_ more sense. I know it is hard to compare the two accidents (though from what I understand, as far as solid fuel rocket failures go Challenger was pretty tame), but the contrast between Challenger and T-10-1 is something that lessons should be taken from.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> A great post, especially since it seeks to get at the truth of something that has implications for future missions, at the risk of the OP's reputation.

This part is one of the more disturbing parts though, and a good reminder of why technical persons of all fields, whether rocket scientists or programmers, should not adopt a "Well, we worked hard and we're smart so I'm sure everything's fixed"

> _What you probably don't know is that a side note in a final briefing before > Discovery's flight pointed out that the large chunk of foam that brought > down Columbia could not have been liberated from an internal installation > defect. Hmm. After 26 months of work, nobody knew how to address that little > statement. Of course we had fixed everything. What else could there be? What > else could we do? We were exhausted with study, test, redesign. We decided > to fly._

How is it that this mentality exists at NASA? Isn't it a matter of logic that if the foam was shown not to have been an installation defect, that the engineers have to keep looking for the actual cause? The OP just brushes over this but surely there was some kind of debate, like: "Well, the particular test claiming that the foam was NOT an installation defect was poorly conducted, and all our other measurements say that the installation is the likely cause, so moving on..."

I really hope there isn't some kind of "Oh fuck it, just ship it" mentality at NASA.

<comment><USER12> No, it's about uncertainty.

You have a stated problem "the foam that came off didn't come off because of the reasons we thought it did." Now you have no other ideas besides what you've already considered and tested for 26 months. What do you do? Possibly spend another 2 years investigating and find nothing? Or conclude that the risk is small enough to fly while being vigilant about the problem and looking for more data to lead you in the right direction?

Sometimes the only way to get more data to solve the problem is to do the very thing that causes it, while hoping that you've mitigated its effects well enough that the system is still safe.

<comment><USER11> I'm not saying that this isn't the case, I was hoping for more clarification. The way that the OP writes it is that this "side note" was included in the final briefing pointing out the flawed hypothesis.

The OP doesn't say how conclusive this "side note" was, or if it was one such note among many others. If it is the latter situation, then yes, it's understandable that it was seen as an acceptable blind spot.

But the situation, as the OP describes it, sounds pretty clear cut: The foam issues _could_ come from poor installation procedures. But testing found that the defective foam "could not have been liberated from an internal installation defect"...

So I'm just interested in knowing the level of conclusiveness in that sidenote.

</comment></comment></comment><comment><USER13> The lesson I take from this is that the Shuttle should have been killed on the drawing board, never flown. It's a hideously complex design with no real advantages over expendable or re-usable rockets. It might have made sense as part of a tens of trillions of dollar integrated infrastructure plan (as originally proposed in the 1970s), but once those elements were killed, zombie/frankenstein shuttle wasn't the right answer.

NASA could have focused more on great science programs (like the Mars rovers, unmanned deep space probes, planetary science -- think of what they could accomplish with even 50% of the current overall NASA budget), military and government launch could have continued with ICBM-derived rockets, and private space could have gotten an earlier start.

<comment><USER14> > The lesson I take from this is that the Shuttle should have been killed on > the drawing board, never flown.

Exactly, yes. The design should have been revised until they weren't pushing safety margins so hard. Of course, that would have been an engineer-led approach, which is the opposite approach from the one they used.

</comment></comment><comment><USER15> This is an outstanding post that shows first hand what life as an engineer is like. It is often very hard to truly come to a conclusion that is 100% correct, even given what seems like infinite resources to do testing and analysis.

The big take away from this is what it means to be a good engineer: to be able to bow your head, and admit you were wrong despite all prior evidence.

outstanding!

<comment><USER16> My favorite story along those lines: <http://www.duke.edu/~hpgavin/ce131/citicorp1.htm>

<comment><USER15> that was great, thanks for posting

</comment></comment></comment><comment><USER17> I posted some days ago an appendix by Feynman in the Challenger report, "Appendix F - Personal observations on the reliability of the Shuttle"[1] for those interested. Also, half of "Why do you care what people think?" is about his experience investigating the safety of the shuttle.

[1] <http://news.ycombinator.com/item?id=4371024>

<comment><USER18> I like his point about how bottom-up development is superior to top-down development.

<comment><USER17> A lot of what he said regarding reliability figures and testing plans reasoning resonated with my experience in (software engineering) projects and made me think how his remarks are applicable to software development.

Note to people who didn't read the appendix - he touches specifically software development in the latter part of his note.

</comment></comment></comment><comment><USER19> This reminded me of the problem of unit testing vs integration testing. Sometimes, no matter how much code coverage you have, the unit tests don't find that critical bug that takes everything down. Just like testing the 2 square feet of foam didn't find the problem. You also need integration testing.

<comment><USER20> Yeah. One of the key lessons I have learned about software testing is the idea of layered unit tests. A given unit test will often fail to find a significant problem so you get around this by having a bunch of low-level unit tests, followed by ever-increasing levels of tests which test how the various layers work together. You still won't find that critical bug that is discovered later because someone somewhere is doing something you aren't thinking of at the time, but it ultimately gives you a better understanding of the whole system.

</comment></comment><comment><USER21> I admire Mr. Hale's honesty and thorough examination of what went wrong. But something he said really bothered me. At the press conference where they discussed the foam situation, he called it "unsatisfactory" and then in hindsight, calls it "A pretty bland word for the way I really felt."

THAT'S THE PROBLEM WITH NASA!

In any other situation, when faced with such a dangerous close call, there would have been emotion and strong language used. But in NASAworld, that's all considered verboten. As Mr. Hale points out in his post, these people were his friends. He knew their families well. They weren't just employees. They dodged a bullet, and all he could call it was "unsatisfactory."

I'm not asking NASA to be full of raving loons. But show some goddamn emotion from time to time! One of the most wonderful things about Curiosity was not just the amazing landing, but the sheer jubilation the JPL team went through once they realized their little rover had safely survived the "7 minutes of terror" and landed. For 10 minutes, they hugged, shouted, and cheered. For crying out loud, the flight director had a mohawk! I have no doubt that by showing themselves as fully human, these amazing people just created a whole new generation of kids who will dream of sending probes to faraway places like Europa, Titan, and beyond.

Bottom line: I admire Mr. Hale's honesty in hindsight. But his bland non- emotionalism is one of the reasons people just don't care about space anymore. Make it exciting and demonstrate emotion, and people will care. Act all Spock- like 100% of the time and people will think you DON'T care (so why should they?)

</comment><comment><USER22> The most important lesson, as always, is that you are not as smart as you think you are.

Until we can say we got this getting to space thing, spacecraft should be considered research vehicles and information on every single aspect of their operation has to be gathered. When the Columbia was lost, I was appalled nobody ever inspected the heatshield for damage occurred during lift-off after more than 100 flights. Even if you consider it dangerous (or too much work) to have an astronaut visually inspect it, this could have been done from the Mir space station.

Many spacecraft were lost to arrogance, to the false certainty we know what we are doing when, in fact, we are still learning.

</comment><comment><USER23> This guy must need antacid like nobody's business. In some ways I envy him a little... I always try to assign more importance to my job than is really warranted; he has no call for that.

</comment><comment><USER24> This was one hell of an inspirational post. What I took from it was: we are all human and no matter how smart you are, how many of you are or how much money you have to throw at a problem it's sometimes a mere simple solution or problem that was overlooked. Kind of reminds me of web development.

</comment><comment><USER25> Arresting article and comments section. This snippet from Mr. Hale's response to one of the comments struck me particularly:

"There is a saying that a wise old program manager once passed along to me: "Great engineers, given unlimited resources and time will achieve exactly . . . . nothing" Think about it."

</comment><comment><USER26> I loved this story. This is a good example of how you can go down the rabbit hole of solving a particular problem without stepping back to consider if the problem you are solving is key to getting the result you want.

It's amazing to hear someone be so honest about this.

</comment><comment><USER27> Jesus that's scary. Thanks for posting this. Good lessons to keep in mind.

</comment><comment><USER28> > We informed the foam technicians at our plant in Michoud Louisiana that > _they were the cause of the loss of Columbia_ and then

ouch

(emphasis added by me)</comment>