Greenwald: Snowden docs contain NSA 'blueprint' - <AUTHOR> http://news.yahoo.com/greenwald-snowden-docs-contain-nsa-blueprint-235836523.html

<comment><USER2> What If Snowden Was on Board the Bolivian President's Jet?

[http://www.huffingtonpost.com/violeta-ayala/what-if- snowden-...](http://www.huffingtonpost.com/violeta-ayala/what-if-snowden-was- on-board_b_3551594.html)

"I would like people to know that today the U.S. hosts some of Bolivia's largest criminals. One such person is the former president, Gonzalo Sanchez de Lozada, and two of his ministers who are wanted in Bolivia, not for information leaks, but to face charges for the killing of 60 people who were protesting against his government's policies to sell Bolivia's resources to U.S. corporations. Sanchez de Lozada escaped Bolivia in a jet in 2003 and to this day the U.S. refuses to accept Bolivia's extradition request for him."

Glenn Greenwald covered this almost a year ago:

America's refusal to extradite Bolivia's ex-president to face genocide charges: Obama justice officials have all but granted asylum to Sánchez de Lozada – a puppet who payrolled key Democratic advisers

[http://www.guardian.co.uk/commentisfree/2012/sep/09/america-...](http://www.guardian.co.uk/commentisfree/2012/sep/09/america- refusal-extradite-bolivia)

How prescient of Greenwald: "Relatedly, we find the prevailing sentiment that asylum is something that is only to be granted by the US and its western allies against unfriendly governments. The notion that one may need asylum from the US or the west – or that small Latin American countries unfavorable to the US can grant it rather than have it granted against them – is offensive and perverse to all good and decent western citizens, who know that political persecution is something that happens only far away from them." -Glenn Greenwald, 9 September 2012.

<comment><USER3> <rant> It is precisely this hypocrisy that has rankled more and more as the years roll by. Sure other countries do horrible stuff but nobody else claims to be such a bastion of freedom and democracy. As one learns about the sordid interventionist past of the USA one then realizes that the superficial rhetoric is at variance with past actions.

These double standards reek of the colonial mindset that is meant to be well behind us. I follow a couple of blogs and it is this they return to time and again. The double standards. The hypocrisy. Imagine if the USA didn't make such claims then when the whole NSA/Snowden thing broke people would just say, "oh well, that's just par for course then".

So can we just drop the whole freedom and democracy rhetoric now? Can we drop the pretense? If it walks like a duck and quacks like a duck and all that. Measure for measure the USA is one of the more hostile and anti-democratic regimes globally. </rant>

Also, can I have my privacy back please?

<comment><USER4> If it weren't for the rhetoric, guys like Snowden would never have been indoctrinated with the ideas of freedom and democracy, the very ideas that caused him to act. So no, I do not want to drop the rhetoric.

</comment></comment></comment><comment><USER5> In the light of the Reuters misquoting and subsequent reply by Greenwald yesterday (see [https://news.ycombinator.com/item?id=6040182](https://news.ycombinator.com/item?id=6040182)), I would be extremely extremely skeptical about any secondary interpretations of Glen Greenwald's own words. It seriously sounds more like the writer of this article has nothing better to do than grossly extrapolate a few words into a whole fucking fantasy conjecture. I mean, come on, the ENTIRE article consists of editorialising about someone else's own words, and padding it out with old facts.

</comment><comment><USER6> The problem with this is upping the ante too much. The Government would prefer the secrets spilled to someone goading over them with it. The Government certainly would prefer this in the news for a year rather then for 40 years... Putin will use further disclosures as an excuse to hand him over expect not more then 30 days more.

</comment><comment><USER7> Honest question, is anyone else completely past the point of caring until he actually shows more? (Please read to the end.) So far all we've gotten is some powerpoint slides, claims that they have other evidence, and a lot of interviews.

I've seen people in various communities saying, "Why is the media focusing on Edward Snowden, instead of the breach of civil liberties", but frankly, I wouldn't know how to cover this. He hasn't presented any concrete evidence, just the same powerpoint slides we saw a month ago. He claims he has some, but we're not seeing anything.

I'm not saying he's lying, or that this isn't a big deal- it is. I have a huge problem with the government ignoring the rule of law, especially in regards to treating digital content like it isn't supported by the 4th Amendment. I also don't like the idea of us treating our allies' citizens like they don't matter- legally speaking they don't, but morally speaking I'd rather we did better.

But at this point, how do you continue to cover a story when the key source of the story is taking it's incredibly sweet time in giving us anything more than "No really, guys, you've gotta believe me, you should be really mad!"

<comment><USER8> I honestly can't tell if you're trolling.

You're asking for evidence... but are apparently not happy with first hand accounts, and classified documents.

The authenticity has been confirmed -- take for example the senate hearings where the Snowden revealed programs are discussed... or the US government charging him with releasing classified documents (the ones he gave us).

You "have a huge problem with the government ignoring the rule of law, especially in regards to treating digital content like it isn't supported by the 4th Amendment" but don't seem to understand how you came to know about these violations of the 4th.

Are you trolling us? I'm asking because I honestly don't know.

What more evidence are you waiting for? Or you just don't want to get mad until you know everything? /me is so confused right now

<comment><USER9> No, he's not trolling. Nor is he a government plant or right-wing nutjob. He's just someone posting on HN with a legitimate viewpoint not shared by the majority of people here. Regardless, it is a valid point and shouldn't be dismissed so readily.

No one is doubting the authenticity of the Prism Powerpoint, however only a handful of slides have been released. And as shocking as first hand accounts are, without any evidence to support them, it's extremely hard to verify or trust.

<comment> grey-area _No one is doubting the authenticity of the Prism Powerpoint, however only a handful of slides have been released._

There are clearly more than a few powerpoint slides, one of the very first stories was a warrant for Verizon, and many different docs have been released, FISA court documents, bulk warrants, overviews of several programs from several internal presentations, not just one (what you dismiss as 'powerpoint slides'), NSA inspector general report, GCHQ docs on bugging the G20, GCHQ docs on Tempora etc. What a bizarre assertion. The first hand accounts have been backed up by ex-NSA workers including Binney, Drake and others. How much more evidence do you need before you'd like to debate the real issues instead of talking about how trustworthy Greenwald is?

I'm genuinely curious which news sources you've been using, as apparently you have been completely mislead.

</comment></comment></comment></comment><comment><USER10> So much for the bogus mainstream press narrative about Snowden being a "low level" NSA operative.

<comment><USER9> Actually I don't think you can prove he was higher ranking one way or another. It would appear, based on the wide variety of documents he stole, that they were in fact hacked – with Snowden abusing his privileges on NSA computers. No single person would have access to that much compartmentalized information without being at NSA HQ.

</comment></comment><comment><USER11> This just seems incredibly reckless and selfish. The odds of these documents, which everyone appears to agree will harm legitimate US interests, being accidentally released seems dangerously high. I really hope his Dead Man Switch encryption system is better than the one that allowed wikileaks to accidentally leak unredacted and unvetted cables.

<comment><USER12> What actions do you think you would take if you were in his situation that would be less reckless or selfish?

<comment><USER11> I honestly don't know, but I don't think that's a very good excuse.

I don't think I'd ever risk stealing documents that could genuinely bring harm to America.

I hope for everyone's sake that this is either a bluff or a misquote.

</comment></comment></comment><comment><USER13> Right. Because one "blueprint" can defeat a multi-billion dollar security agency. I call this bullshit.

<comment><USER14> This sounds to me like journalistic license from Greenwald, who probably does not fully understand the technology involved. I'm guessing it's a little more nuanced: one could learn about known exploits and compromised services to stay on "safe" communication methods, or use some of the exploits themselves.

</comment></comment><comment><USER15> Duplicate seems a little dubious here... Unless there is some insane never before published vuln in some core routing protocol or the DNS that seems a bit misstated.

...I hope.

</comment><comment><USER16> Open-source that stuff already!</comment>


Why Popular Sites Are "Ugly" - <AUTHOR> http://carlos.bueno.org/2007/03/why-popular-sites-are-ugly.html <comment><USER2> Social networks, such as MySpace and Friendster, outsource graphic designing to the users by letting them alter the source code. A user who spends two hours customizing their profile is likely to become more loyal than he or she would've been two hours earlier.

Of course, the side effect is that the site turns out to be chaotic; though, it does leave the user with a more personalized experience. Humans have a tendency to prefer choice when given the freedom to do so. And as it turns out, they are not very good at it.

</comment><comment><USER3> To me the interesting sites are those the author would call ugly by design (i.e, not the ones that are ugly because there was no money to hire a designer, or because the programmer thought he was a designer.)

But with those, I think bueno misses the point: these sites represent the edge of design. They are designers trying to create something unique, trying to find a spark. When successful, it's usually a small crowd that "gets it": they're passionate about it while many, maybe even a majority, hate it. If it's truly good, eventually the majority gets converted. I'm in the majority with the Honda Element, for example: to my shock I'm beginning to come around.

Most edge design, though, IS ugly, will gain only hedging admiration from the designer's mother and averted gazes from his wife. But it's not intended to be bad, it's intended to be revolutionary.

<comment><USER4> _"...not the ones that are ugly because there was no money to hire a designer, or because the programmer thought he was a designer."_

Like Google or Craigslist? Necessity is not only the mother of invention, it seems to have another child: great design.

<comment><USER3> I didn't mean to suggest that there are no programmers who can do good design -- I'm sure there are many. I suspect that most programmers (like most bus drivers, or most doctors) aren't good designers, though. But unlike bus drivers or doctors, programmers are often pressed into design work: sometimes by their boss, sometimes by their ego. :)

</comment></comment></comment><comment><USER5> Broad appeal and psychological acceptance seems to have a direct relationship with poor design, doesn't it? It's one of those things that make you ponder.

It's undeniable that Virb is more beautiful than MySpace. But it seems to me that superior design has that subtle hint of self-importance that becomes a tougher sell over a modest offering.

(edit): Oops, didn't see this before: <http://news.ycombinator.com/comments?id=5760>

Looks like I pretty much just said what Paul did in his comment.

</comment><comment><USER6> I don't agree that 'ugly' is what popular sites are trying to do. I just think that it's poor designers. I won't even bother with a site that looks like it was made in the 90s. With a better designed site I have a better chance of going back and using their service.

In my opinion you only have around 10 seconds to make an impression on me with your website. If I see an ugly site I won't even bother looking any further. I'll just click the back button and never go back to your site again.

<comment><AUTHOR> Popular sites are not trying to be ugly -- they are trying to be popular. Look at it this way: Myspace has $600 million dollars. If aesthetics were a competitive advantage with the /average/ (i.e. not a web professional) user, surely they'd spend some of that hiring Eric Meyers, don't you think?

<comment><USER6> Yeah I see your point. But having an ugly site isn't going to help you gain popularity.

I agree Myspace is probably not thinking of the design aspects. They're focusing on expanding their product and adding features. But when I look at Virb I think "Wow, this is what Myspace should look like". If Virb becomes a big competitor I guarantee that Myspace will be changing their design very quickly and calling up Eric Meyers.</comment></comment></comment>


Entry Level Ruby Developer Guide 2016 – How to Start a Rails Career from Zero - <AUTHOR> https://medium.com/@louisror/entry-level-ruby-developer-guide-2016-how-to-start-a-rails-career-from-zero-1e5d1d6600ca#.eie3p8e2l <comment><USER2> I'm a little saddened that the first line wasn't, "For best results travel back in time to 2010." :-(</comment>


Show HN: Cross-platform thread/mutex/tss/atomic operations in C - <AUTHOR> https://github.com/mulle-nat/mulle-thread <comment><AUTHOR> Author here, this is the beginning of a series of related releases. On it's own it can be useful, but it is possibly not too exciting, if you don't target Windows.

<comment><USER2> Tracking your project, hope I can help

<comment><AUTHOR> When its all released there will be plenty of open ends left ;)</comment></comment></comment>


Triton, World's Last Artificial Gills Scam - <AUTHOR> https://www.indiegogo.com/projects/triton-world-s-last-artificial-gills-scam#/ <comment><USER2> Reminds me of this:

[https://matulevicz.net/2011-09-04-matulevicz-drowning- shame](https://matulevicz.net/2011-09-04-matulevicz-drowning-shame)

</comment><comment><USER3> Does anyone have a mirror of the original campaign page? The indiegogo link gives me a "too many redirects" error and archive.org also seems to have been stuck in an infinite loop.</comment>


Naps can refresh brain power - <AUTHOR> http://www.latimes.com/features/health/la-he-0301-capsule-20100301,0,787496.story

<comment><USER2> <http://searchyc.com/submissions/nap+?sort=by_date>

Nice to see the LA Times is bang up-to-date.</comment>


Israel is World's Biggest Social Network Addict - <AUTHOR> http://thenextweb.com/socialmedia/2011/12/22/israelis-are-now-the-world's-biggest-social-network-addicts-says-new-report/ <comment><USER2> I'm intrigued by the the vast difference in time spent between female and male users. I would honestly think that it would be much closer.</comment>


Linux Credit Card - <AUTHOR> http://www.linuxfoundation.org/programs/linux-credit-card

<comment><USER2> One of the features they list for the card:

      Zero liability protection for unauthorized purchases

They either need to drop the word "protection" from that, or change "Zero" to "Full". Otherwise, it is pretty easy to read it as meaning the opposite of what they mean. (I am assuming the do not mean no protection against unauthorized purchases, because that would be a strange thing to list as a feature!)

</comment><comment><USER3> Got mine a couple months ago!</comment>


A problem involving power series - <AUTHOR> https://terrytao.wordpress.com/2016/10/18/a-problem-involving-power-series/ <comment><USER2> I think the user Av's answer (using Liouville's theorem) is correct, and a very simple argument, though it does use the fairly hefty machinery that goes into "a bounded analytic function is constant".

EDIT: as tome kindly points out, e^x f(x) need not remain bounded as x goes to -infinity, or indeed any other direction of infinity on the complex plane.

<comment><USER3> Why? It's not bounded towards negative infinity.

<comment><USER2> Hah, you're right. This is what I get for trying this five minutes after waking up.

</comment></comment></comment><comment> surrey-fringe This problem is interesting but not quite air-tight. You could just take the first sequence and set some element to 0 and you've got a new sequence that satisfies the property. Is he actually asking whether there's not another A between 0 and 1 such that the series converges for a_n = C(-A)^n?

<comment><USER4> _You could just take the first sequence and set some element to 0 and you 've got a new sequence that satisfies the property_

No, because if you have _f(x) = e^(-x) + x^n / n!_, then _e^x f(x)_ is not bounded as _x_ goes to infinity.

<comment><USER5> @cperciva do you ever miss math?

<comment><USER6> context?

<comment><USER7> [https://news.ycombinator.com/item?id=35079](https://news.ycombinator.com/item?id=35079)

"Did you win the Putnam?"

        Yes, I did.

</comment></comment></comment></comment></comment><comment><USER8> I was thinking that any function like f(x)=e^(-x(1+o(1/x^2)) would work, provided that it can be expended into an infinite series (say, f(x)=e^(-x(1+e^(-x))) )</comment>


Jakob Nielsen: 'About Us' Information on Websites  - <AUTHOR> http://www.useit.com/alertbox/about-us-pages.html <comment><USER2> Missed the "Jakob Nielsen" part. Eyes now burning from the extremely poor design of his site.

</comment><comment><USER3> I think I unwittingly participated in this study whilst trying out the mechanical turk.</comment>


Show HN: Trigger serverless functions on Postgres events - <AUTHOR> https://github.com/hasura/graphql-engine/blob/master/event-triggers.md <comment><USER2> Hi HN!

We've put together a simple interface and system to capture and deliver Postgres events to webhooks.

Key features: \- Event capture is atomic and reliable \- event delivery has configurable retry logic \- events are instrumented with unique ids, and logs contain info important for observing e2e latency and so on \- retry any event delivery, especially to make dev/debugging easier

</comment><comment><USER3> Cool, how does this differ from using pg_notify and waiting for a notification on a stable connection / server?

<comment><USER2> Kind of what we do underneath!

We make it easy to setup and manage via a UI (or optional declarative config). And then some plumbing around retrying event delivery and similar nitty gritties.</comment></comment>


Git LFS 2.0.0 released - <AUTHOR> https://github.com/blog/2328-git-lfs-2-0-0-released <comment><USER2> File locking is potentially huge for game developers and our large, binary, unmergeable asset files. The jury's still out for potential performance issues in large repos, and the practical solutions for setting up a fully self-hosted server solution, but it's looking bright!</comment>


I wrote a Forth implementation for x86 (2012) - <AUTHOR> http://davazp.net/2012/12/08/eulex-forth-implementation.html <comment><USER2> Man, the title plays it down a lot. I thought it was just an interpreter and nearly skipped over it instead of a Forth-machine OS, which is much neater.

</comment><comment><USER3> Here the author. I loved working on this project, it was very satisfying building everything from scratch.

However, it would have been even better if somebody else would have joint.

<comment><USER4> Looks impressive! Are you planning to add support for networking?

<comment><USER3> I stopped working on the project like 4 years ago. I don't have plans to add anything else soon.

It would be nice though, and networking in particular is one of the more interesting things to implement I think. Maybe some day.

</comment></comment></comment><comment><USER5> I'm loving the recent rise of posts about FORTH. It's always been a pleasure to play with, right the way back from the 80s.

</comment><comment><USER6> Like implementing a Lisp, every programmer who likes programming languages should implement at least a Forth. However, this goes a bit further and is lovely.

</comment><comment><USER7> The enthusiasm with which this was written almost matches the enthusiasm the author had about the project.

</comment><comment><USER8> Is anyone able to run this on Mac/Darwin? I think it might need gcc:

      $ cc -fstrength-reduce -nostdinc -m32 -nostdlib -fno-builtin \
         -nostartfiles -nodefaultlibs -I. -ggdb -I.   -c -o boot.o boot.S
      clang: warning: optimization flag '-fstrength-reduce' is not supported
      clang: warning: argument unused during compilation: '-nostartfiles'
      boot.S:21:23: error: unexpected token in '.section' directive

<comment><USER9> You will need a gcc that can make ELF files since that is what qemu -kernel expects. I don't think homebrew has a gcc that can do this.

</comment></comment><comment><USER10> (2012)</comment>


NASA Will Open Pristine, Sealed Samples of Moon Rock - <AUTHOR> https://www.npr.org/2019/07/08/736212760/moon-rocks-still-awe-and-scientist-hope-to-get-more <comment><USER2> > the samples that were set aside during Apollo for some far-off day when new > and better instruments would allow for markedly improved analysis.

However, there is no single mention about new and better instruments that are available now. Does anyone know more details here? Instead, I can imagine that there is another reason to analyze the stones just now: to generate more NASA media coverage to motivate a new lunar mission.

<comment><USER3> > there is no single mention about new and better instruments that are > available now

Computers that don't require vacuum tubes?

Just to understand the technology of the time: the first automated blood test was invented less than 5 years prior. The scanning electron microscope becomes commercially available 5 years later. The first MRI would happen about 10 years later.

<comment><USER2> I certainly agree that there has been a lot of progress over the last 50 years. However I would still like to know which recently devised (or at least improved) instrument lead NASA to open the seals just now. Or isn't there any?

</comment></comment></comment><comment><USER4> Coincidentally, the SmarterEveryDay YouTube channel also posted [0] a video where Destin visits the mentioned repository. The organization system is fascinating.

[0] [https://www.youtube.com/watch?v=QxZ_iPldGtI](https://www.youtube.com/watch?v=QxZ_iPldGtI)

<comment><USER5> I suspect it's not incidental so much as part of a PR drive around the new moon mission.

<comment><USER6> The article and interview with one of the lead researchers mentions the 50th anniversary of the first landing. And also how analysis of these final sealed samples could guide potential landing site targeting for future missions.</comment></comment></comment>


Ask HN: What Must I Do with My Life? - <AUTHOR>

Hey everyone,
I'm a computer engineer who is going to be unemployed 2 months later. I want to ask you about what to do with my life. I worked here, in my first company for a year. I worked on Linux, bash, web development (mostly PHP, laravel...). Now, since the company I work for is closing, I need a new job.
I don't know what to do. I love C/C++, game development and I know Unity. I made some games for brain damaged patients when I'm at university. I'm looking at job listings and I mostly see ASP jobs which I find boring.
Everything seems to become mobile (or web) oriented nowadays, and I'm not sure which road to take.
What do you guys think I have to do with my life? Do I have to do Java jobs, PHP jobs, or mobile? What are the ins and outs of those topics?
Help me find my path.
Thank you very much. <comment><USER2> There are two separate issues here: 1\. You're losing your job, so you are losing the income needed to support yourself. 2\. You want to find work that is more rewarding.

Please do not confuse the two. Your priority right now should be to fix issue 1, unless you have sizable savings you do not mind burning through.

In other words, find a new job, even it is not your dream job, and then work on exploring new fields (in your own time) to see what you connect with.

<comment><AUTHOR> Thank you very much. I think this seems the best thing to do.</comment></comment>


Programmers: Stop Calling Yourselves Engineers - <AUTHOR> http://theatln.tc/1NXSTAl <comment><USER2> As a licensed Professional Engineer and wannabe programmer, this guy should get off his high horse. There's a difference between an engineer and a Professional Engineer. Much of the engineering industry, electrical, mechanical, chemical, etc. does not require licensure. It's only needed in specific industries where engineering services are offered directly to the public. I don't think anyone is confusing software engineers with PEs.

And building things in the public interest? Please. These things our built in our _client 's_ interest. Yes, sometimes that client is "the public" in the form of a local, state or Federal government, but not always, and for many engineers, hardly ever. It's also dubious that the government's interest coincides with the public interest. I worked for a firm that bid on the contract to design the NSA's 60MW datacenter in Utah. We didn't win, but someone did, and they happily took the money to build it. Public interest indeed.

Yes, we recommend building things in sustainable, efficient ways whenever possible, but at the end of the day someone else is footing the bill. As long as they aren't asking for something outright illegal or dangerous, they'll get it. If they want to knock together a building that barely meets code minimum requirements, that's what they'll get.

> Today's computer systems pose individual and communal dangers that we'd > never accept in more concrete structures like bridges, skyscrapers, power > plants, and missile-defense systems.

It's still pretty early days as far as computer systems go. It's only a little over a hundred years ago that hundreds of people died in a fire[1] causing us to realize the egress doors need to always swing _outwards_ and should not be locked. And that's after how many millennia of building buildings?

We don't accept these dangers now because we know what they are after people having died from them in the past. We won't know what things we will need to watch for in computing until they happen.

[1] [https://en.wikipedia.org/wiki/Triangle_Shirtwaist_Factory_fi...](https://en.wikipedia.org/wiki/Triangle_Shirtwaist_Factory_fire)

<comment><USER3> >And building things in the public interest? Please. These things our built in our client's interest.

As soon as I read the tagline, I thought, "Surely he's presuming all engineering is civil engineering." That's the only way that argument holds.

</comment></comment><comment><USER4> I'm a Software Engineer. It's printed on my undergraduate degree, it's on my business card, and it's recognised by the engineering association in my country. So no, I won't.

"Traditional engineers are regulated, certified, and subject to apprenticeship and continuing education. Engineering claims an explicit responsibility to public safety and reliability, even if it doesn't always deliver."

I DO have an explicit responsibility to public safety and reliability (it comes with the degree). I have to consider the implications of my work and could be held criminally liable for errors resulting in injury or death. If one was designing and building - or even updating - the software for a radiation therapy machine, for example, wouldn't you want it to be that way? [https://en.wikipedia.org/wiki/Therac-25](https://en.wikipedia.org/wiki/Therac-25)

<comment><USER5> This is obvious, but he's talking about the US. Here, "software engineer" is a sort of made up title. I wish the US was like your country, though.

</comment></comment><comment><USER6> Google and Facebook, amongst others, have shown that the quick iteration strategy works, even for complex, critical systems. The key to success in that strategy is in good tooling--something that allows people to move quickly without breaking critical systems.

With that, understanding your goals is important in deriving strategy. Developing software for NASA space shuttles is going to be inevitably slower and more scrutinized than working on Google Music. Therein lies a traditional engineering problem of using the right tools for the job.

Software also does contribute to the public good in that an open-source mindset is built into the subcultures of the profession in general. It's pretty cool that I can get involved in programming using free tooling from day one, where my friends in finance or more traditional engineering careers cannot.

Overall, the author feels like they're arguing from some twisted version of the "golden age fallacy." In fact, this seems like the same type of tired arguments I hear stipulating that video-games are not art: built as an argument from the old guard to bully the new kid on the block.

<comment><USER7> _Google and Facebook, amongst others, have shown that the quick iteration strategy works, even for complex, critical systems._

Complex systems, yes. Critical... well that depends on how you define _critical_.

The whole "quick iteration strategy" idea depends, largely, on the idea of "fail fast" or "move fast and break things". This necessarily makes iterative software development into an exploratory discipline, poking at something that doesn't work with a stick so that you understand it better and then creating something that does work off the back of that.

You simply cannot "move fast and break things" in a field where your created artifacts are expected to last a long time; we'd live in a fragile world of prototypes and conservatism were that the case.

In pretty much every other field populated by people who call themselves engineers, there's a whole lot more thought and maths going into the design of constructed artifacts, fed by a whole lot more science, before doing the actual construction. This approach is not just passé, but anathema in the software world. We just don't do engineering the way the rest of the world does.

</comment></comment><comment><USER8> _" It undermines a long tradition of designing and building infrastructure in the public interest."_

 _" The traditional disciplines of engineering—civil, mechanical, aerospace, chemical, electrical, environmental—are civic professions as much as technical ones."_

I would like to introduce the author to something called "Open" "Source":

[https://github.com/explore](https://github.com/explore)

The server that his article is reaching the world via is almost certainly running multiple pieces of infrastructure designed and built in the public interest, and given away for free.

Software suffers from being universal, inexpensive and omnipresent, so people notice all the crap (I certainly bitch about software quality myself) while ignoring the thousand miracles per minute that it provides for us.

</comment><comment><USER9> As any person will have observed more often than not accreditation proves little or nothing about anything. For example many corporations possess numerous different accreditations (some of which are industry specific) e.g. ISO:XXXXX, OHASA, Microsoft Gold etc etc etc. Most of these are simply seen by management functions as a box ticking exercise. The principles and most importantly mindsets evangelised by such accreditations are never enacted or held by those with the power to enact them. Perhaps this is a problem because for some reason management types aren't seen to be a collaborative discipline, but instead a ruling one. Often engineers are at the behest of management decisions which tend to be based upon ill-conceived preconceptions, and poor and/or politicised information. Ultimately more engineers need to hold management positions to ensure values are enforced and engrained within the culture of the organisation. To some extent accreditation is just advertising and brand image.

My house builder is accredited by X, Y and Z but their management and customer service is so poor that I fail to see how the business functions. I think this projects a some what idealistic view, not founded in reality.

</comment><comment><USER10> I consider programmers as people who have learned the syntax of a language.

They did a quick "Program in <Language> in <X> Days"

They don't understand too much about what's going on under the hood. Just press this and it happens.

Software Engineers on the other hand have a deeper understanding of software. They have studied the field and learned how a computer actually works from the bottom up. They understand assembly language, state machines, data structures, algorithms.

A programmer has trouble adjusting to the technological landscape as it evolves. A software engineer sees the evolution and can see why solution y is better than previous or if it's just marketing hype.

A true software engineer understands software is more than code.

</comment><comment><USER11> Eh.

Ok, if you must, I actually agree that programmers should stop calling themselves engineers. Like I've said before here on HN, I don't think it helps us (programmers). We should own our title and wear it with pride. Taking someone else's title does two bad things - first, it opens programmers to the charge that they are insecure and are misappropriating someone else's hard earned title and reputation. Second, it may give engineers (the PE kind) the impression that they have some claim on software development. That last part is important, because I would prefer not to see software regulated by the PE exams (though my objection to this diminished greatly when they went to much more industry specific exams).

I consider software development to be a genuinely difficult task, one that can push very smart people past the edge of their own capabilities. It can be intensely creative, and the stakes can be very high. However, I think we should just consider it to be its own thing.

Now, all that said, I'll go back to my first statement: eh. In a world of train engineers, special effects or sound engineers, financial engineers, pft. Calling someone who reads a book on PHP (or buys one but doesn't read it) and throws up a bug ridden website an "engineer" seems a bit of a stretch, but is it really so outrageous to call someone who has spend decades learning to design highly complex, scalable, performant software applications that need to be reliable in a high stakes environment an "engineer"? Is that really such an egregious use of the word?

Like I said, I'd rather software developers redirect that impressive accomplishment back to the word "programmer" or "developer", but in the end, this whole thing is completely overblown.

</comment><comment><USER12> Extensive discussion from a few days ago:

[https://news.ycombinator.com/item?id=10513499](https://news.ycombinator.com/item?id=10513499)

</comment><comment><USER13> There's a wide spectrum of capabilities within the set of People Who Can Command Technology. Similarly, there's a wide spectrum of need in various industries for those people. When a company says they want "software engineers," what do they mean? Do they just want coders? People who convert a diagram into code? Do they want someone who can design and implement every layer in their system? There's no "software architect" degree. Nor a "data[base] architect" degree. Yet these are titles that individuals call themselves when they have certain skills.

Maybe instead of simply labeling the skills or the needs, we could spell out our experience (résumé) or requirements (job description.) But we still need a label to get the proverbial ball rolling, to pique the interest of employers and employees; something that says "I know how to tell a computer to do what you want done."

"Software Engineer" sounds like a fine phrase for that.

</comment><comment><USER14> I normally just call myself a developer, although engineer is so widespread in the industry now I wouldn't mind that either. I can't look at someone with a straight face when they refer to themselves as a "software craftsman" though. I do think we need to reign in the job titles a little, many of them smack of one-upmanship.

<comment><USER15> "Rockstar Programmer"

"Laravel Artisan"

"Web Alchemist"

"Node Artificer"

</comment></comment><comment><USER16> First of all, most titles --but by no means all-- are bullshit. I prefer titles like {Junior, Senior, Lead, Chief} Programmer or Member of Technical Staff (I, II, III, ...}. Although I have been assigned titles like DevOps, Engineer, Developer and so on, my Linked In profile reads 'Programmer'.

<comment><USER17> I used to think so as well until I realized that some companies pay more for an Engineer than a Programmer.

<comment><USER18> I found the same. It's about how you market yourself to prospective employers. Any sufficiently technical staff member knows the title is BS...HR does not. You just have to back it up with the knowledge.

</comment></comment></comment><comment><USER19> "Engineer" can be either degree/qualification or position.

In software business there are no mandatory degrees, only positions. Person without formal education can be in "chief leading senior engineer" position if he has good personal track record.

Personally I like the word programmer more than engineer.

<comment><USER20> As they point out in the article, Engineer as a title is often regulated. I'm in Ontario and it's actually written in law that one the Professional Engineers Ontario regulates the use of the word. Microsoft was actually taken to court for the use of Engineer in MCSE (they lost and were fined). So, they dropped the actual words and left it as just the letters. Before them, Novell had the same issue. Individual people have been fined as well, but it all comes down to reporting. So, if someone is calling themselves a "software engineer" and they aren't accredited they'll get away with it as long as nobody reports them. If that happens, they'll be fined. The University of Waterloo (and I assume some other Canadian universities) has a software engineering program that's accredited and graduates can become licensed engineers. At Waterloo, it's jointly taught by the Computer Science and Electrical & Computer Engineering departments.

I actually have an engineering degree so I do take offence at non-engineers calling themselves engineers. I've done the work to become one, I've passed the requirements including the law and ethics exams while non-engineers haven't. My father worked for his whole career as a technician at Ontario Hydro doing work on nuclear and coal reactors and while there were engineers who did the same work, he never was called an engineer.

<comment><USER21> The issue is, it depends on the country. It might be regulated in Canada (and in my country, France, a developer can't call himself engineer unless he has the diploma) , but in some countries engineer is not a title, it's related to the task the worker needs to do. In most western countries, the title of doctor is regulated, that's just not always the case for the engineer title. The "technician" title is also a regulated in France. Is that the case in Canada? maybe, maybe not. My point is it may piss you off but your degree might be "meaningless" abroad since a self taught developer can call himself and apply for an engineering job.

<comment><USER20> True, but it's regulated in many western countries. I think it's regulated in the UK, much of the US (including I think California where many of these companies are), Canada, and apparently France.

A self-taught developer might apply for a software engineering job, but they won't be able to apply for a mechanical or electrical engineering job. My degree isn't meaningless. It's just annoying because people refer to hiring engineers when they're looking for "software engineers". I have training over and above simple technical skills that a developer wouldn't normally have (e.g., ethics and law).

</comment></comment></comment></comment><comment><USER22> Why Programmers are NOT Engineers (and that's a good thing) </comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>=====

1\. Engineers design and build the same types of things over and over again, from principles that have been developed, tested and put into practice over, literally, thousands of years. These principles are rarely expanded upon, and only after careful testing and proven performance. Programmers on the other hand consider building the same thing over and over again to fall in one of three categories (1) stupidity (2) ignorance or (3) market failure.

2\. If an engineer builds two bridges of exactly the same specification, the cost of building the second bridge will be reasonably close to the cost of building the first one (technological advances and inflation not withstanding). If a programmer writes a useful program, and wants to share it with his friends and family, the cost of each additional copy of the program is fairly close to zero. Unlike the engineer building a second or third bridge, there is no need or reason for the programmer to create another copy of the software by designing, writing the code and compiling a second or third time.

3\. Following on from (1) and (2) above, an engineer designs blueprints that describe _exactly_ how the structure is to be built, but a programmer usually has no idea how the program is to be built, because if s/he did know, then it means someone has built this before, and therefore there is no reason to build it again, because the marginal cost of copying a previous design is zero. This tends to make the best programmers experimentalists (because the risk is small) and plagiarists (because the cost of copying existing designs is zero), and the worst programmers are those that think like engineers. Conversely, experimentation in engineering is discouraged, especially on things like bridges, because it is costly and dangerous.

4\. But what about the domain known as computer security? Shouldn't security be 'engineered'? Yeah, good luck with that. People who crack computer security are nimble experimentalists. Because the cost of experimentation is so low, security cracking tends to be a never ending series of probes until a weakness is found. Protecting against that approach cannot be 'engineered', because the engineering process is one in which you plan for every known contingency. But if you knew every possible contingency, there would be no security issues, because they would all be covered off.

Sorry, the above is a bit rough. I'm still refining my ideas on the topic. Feedback welcomed.

</comment><comment><USER23> I sit in a chair, in front of a panel with many lights, and another panel with many buttons. And I press the buttons rapidly in some specific order to make certain lights go on or off.

No idea what should be the name for that job.

</comment><comment><USER24> I would argue that the issue is not with the "programmers" but HR. I've had people hand me offer letters with "Software Engineer" written on it, but i do not hold an engineering degree (and i didn't ask for that title!)

Most of my Comp. Science friends have had the same experience, one went so far as to return the offer and replace the title with "Computer Scientist".

So HR, please stop calling Scientists (or in my case, people with incomplete degrees), Engineers.

<comment><USER24> I respect peoples right to down-vote, but i would appreciate you to also leave some feedback if you have the chance. I'm genuinely curious as to what someone might disagree with, I feel that all I stated were facts from my own personal experience without any real argument for much else.

<comment><USER25> I wouldn't have downvoted, but are programmers generally actually scientists? I think next week a pop physics blog would make a headline saying "Programmers stop calling yourselves scientists". In my work, I do engineering and science related to programming. I see a lot of my peers doing less of both. But I'm actually a web developer. With how young the field of programming is, we're really more computer cowboys then scientists or engineers. The amount of science and engineering we do is dwarfed by the amount of exploring we do.

<comment><USER24> People with "Computer science" degrees are by education, maybe not in practice.

</comment></comment></comment></comment><comment><USER26> We could call ourselves artists, gardeners, implementors, analysts, system designers.. All facets and analogies to what we do.

</comment><comment><USER27> I would also like if scientists which no understanding of logic apart of mathematical one and no understanding of philosophy of science would stop to call them self scientists (both are required to define truth value). Its not going to happen...

</comment><comment><USER28> I consider my work (more debugging/analysis than anything else) more related to plumbing than programming. Can I call myself a digital plumber?

<comment><USER29> When I did rotations on production support I used to introduce myself as the software janitor. At the time I was the CTO but never used the title.

</comment></comment><comment><USER30> It must be tiring living in a state of constant offense.

</comment><comment><USER31> New title: Meatspace Engineer. Problem solved.

</comment><comment><USER32> Writer: Stop calling yourself a journalist.

</comment><comment><USER33> Similarly, an architect friend of mine is particularly annoyed that 'architect' has been almost entirely co-opted by the software industry.

<comment><USER34> Hehehe, I imagine it bothers the astronauts as well...

<comment><USER35> Not to mention rock stars.

<comment><USER36> And do you really think it's wise to irritate dedicated, highly-skilled professionals in black pajamas? Just saying.

<comment><USER37> good point. [http://www.theonion.com/article/disgruntled-ninja- silently-k...](http://www.theonion.com/article/disgruntled-ninja-silently- kills-12-co-workers-1575)

</comment></comment></comment></comment></comment><comment><USER38> It's like it's 1987 all over again

</comment><comment><USER39> Thanks for the thinkpiece, Atlantic.</comment>


History of Actors - <AUTHOR> https://eighty-twenty.org/2016/10/18/actors-hopl <comment><USER2> The Pony language uses actors and has some other cool features, worth checking out if this subject interests you.

[http://www.ponylang.org/](http://www.ponylang.org/)

</comment><comment><USER3> I recall Carl Hewitt talking about everything being an actor, even messages, and implementations differing from this idea, am I wrong?

<comment><USER4> You can think of a pure-data object, such as a message, as a special kind of actor whose protocol includes messages to extract the parts. It gets tricky when it comes to comparisons: you want e.g. a boolean to be able to say "yes, I'm equal to this boolean b you sent me" but you also want to be able to send a transparent forwarder b' that wraps a "real" boolean b. I'm not sure how the different actor languages dealt with these issues.

<comment><AUTHOR> Exactly. Data is necessary to make control flow decisions; the purely behavioural approach suffers infinite regress without some form of concrete data.

I suspect that this problem was one of the reasons later actor languages came to include some kind of data; in the case of Erlang, messages are the data, compared structurally; in E, object identities can be compared without sending messages to the objects.

</comment></comment></comment><comment><USER5> Surprised this didn't make any mention of Hoare's Communicating Sequential Processes, which laid a lot of the groundwork for concurrent message passing.

[https://en.m.wikipedia.org/wiki/Communicating_sequential_pro...](https://en.m.wikipedia.org/wiki/Communicating_sequential_processes)

<comment><AUTHOR> You're right that CSP has been influential more generally, but it doesn't relate directly enough to the history of the actor model, which is the focus here. (Though you can see, in the first paper specifically about CSP from 1978, citations to earlier actor-model work, and of course all the researchers involved had been following each other's work closely for years; a great amount of feedback was taking place continuously.)

</comment></comment><comment><USER6> A three-point history of actors

1\. In the 500s BC, a poet named Thespis is credited with innovating a new style in which a solo actor performed the speeches of the characters in the narrative.

2\. In 471 BC, the dramatist Aeschylus innovated a second actor, thus making dialogue between characters possible onstage.

3\. Around 468 BC, Sophocles introduced a third actor making more complex dramatic situations possible. Three actors subsequently became the formal convention.

from [http://www.crystalinks.com/greektheater.html](http://www.crystalinks.com/greektheater.html)</comment>


Ask HN: Where do I turn for help developing an invention? - <AUTHOR>

I've had a few ideas over the years for various household gadgets that I think might have had real marketability.  The problem is, I'm not an engineer and I have no idea where to turn for help developing my ideas.  I would just take the first step of submitting a patent application, but I suspect that my amateur drawings would in themselves be grounds to reject the application.<p>I know that organizations that market services for inventors are, by and large, scams, and I don't know any friendly engineers who might lend a hand.  So, any advice would be appreciated. <comment><USER2> I doubt you could sell anything like that without at least being able to build a prototype, so perhaps that'd make a better first step than a patent application: Learn how to work with thermoplastic, rent some time with a CNC machine, teach yourself to whittle--whatever it takes.

<comment><AUTHOR> Thanks, that's useful advice. Googling CNC machine, I see that I can download software for some models to tinker with, to see how difficult that might be.</comment></comment>


Life hack - Speed Reading web application with bookmarklet - <AUTHOR> http://www.glancethrough.info/

<comment><USER2> As a user of the EyeQ speed reading trainer I was looking for something just like this that could extend to everyday reading. Solid app.

</comment><comment><AUTHOR> [https://github.com/codercooke/glancethrough](https://github.com/codercooke/glancethrough)

</comment><comment><USER3> Cool stuff, dude.

</comment><comment><USER4> Great app

</comment><comment><USER5> extremely useful!

</comment><comment><USER6> fun to use</comment>


The Emotional Story of Reddit's Start & Sale - <AUTHOR> http://www.inc.com/chris-beier-and-daniel-wolfman/alexis-ohanian-reddit-founder-emotional-back-story-start-and-sale.html

<comment><USER2> Thanks for sharing this link. I'm also a entrepreneur and a software engineer, in a some what similar situation.

As I sit on my couch across from my 30 yr old wife (who is pregnant) and my 3 yr old son I opened this link with an eerie feeling. When Alexis started talking about his mother, first though in my mind was 'he is gonna say it is cancer'. Then when I saw the screen of it being a brain tumor, it felt surreal.

About a month ago, my wife had a grade IV glioblastoma removed, and is now undergoing 6 weeks of daily chemo and radiation, followed by scheduled delivery @ 34 weeks, followed by more radiation on her spine (her gleo has PNET like attributes). We are extremely lucky that she is/was a nurse at one of the best hospitals in the world (mayo clinic).

While my dreams of owning my own successful company have been put on hold to focus on my family, this story has helped me put aside some of my own internal guilt of still wanting to do that someday.

Thanks for sharing your story Alexis.

<comment><USER3> sorry to hear that, my friend. Best of luck, may the force be with you and your +1

</comment></comment><comment><USER4> This appears to be the same story that Inc ran on May 30, 2012,

[http://www.inc.com/magazine/201206/christine- lagorio/alexis-...](http://www.inc.com/magazine/201206/christine- lagorio/alexis-ohanian-reddit-how-i-did-it.html)

And has been discussed here already:

<http://news.ycombinator.com/item?id=4043092>

</comment><comment><USER5> This hits home. The thing my dad didn't live long enough to see are the good things I'm creating.

<comment><USER6> My dad's pride in what I do is what helps me keep going. I remember before he died being at a family reunion and him introducing me to family members that I've never met as follows: "This is my son, he's gonna be big someday."

<comment><USER7> That's how I felt when my grandfather was still alive. He saw the world in me and it felt awesome to prove him right so often growing up.

After he passed, things changed and now it's almost the complete opposite fueling me now. I look at how close-minded, hateful, and worthless my parents are and bust my ass to prove to everyone that I'm not going to turn out like them.

<comment><USER8> channel your feelings into positive outcomes and then thank your parents for that.

<comment><USER9> What a great series of comments. I couldn't agree more with all of this.

</comment></comment></comment></comment></comment><comment><USER10> for those like me who were confused:

the provided link is a personal shortlink.

the canonical link is [http://www.inc.com/chris-beier-and-daniel- wolfman/alexis-oha...](http://www.inc.com/chris-beier-and-daniel- wolfman/alexis-ohanian-reddit-founder-emotional-back-story-start-and- sale.html)

</comment><comment><USER11> After the third presentation of a link to this story, I tried it. Something caught my attention for a moment, and when I glanced back I was mid way into the story. Never mind the content of the story: the production of the video is pure emotional manipulation. I don't care what the content is, when I see such blatant emotional manipulation, my alarms go off. I'm not crass, I know true life pain - but using it like this for commercial gain really smells.

</comment><comment><USER12> I met alexis during a a meetup event in NYC and I had no idea that this was a part of his story. I love both reddit and hipmunk and I hope he continues to make cool products!

<comment><USER9> Surprise! Thanks so much.

</comment></comment><comment><USER13> A touching film. I'm not sure the effect when it suddenly went to black-and- white and the camera got all jerky, out-of-focus really worked though. I really found it distracting, although I still enjoyed it overall.

</comment><comment><USER14> I have a newfound respect for Reddit.</comment>


Node.js powers comet for plurk (100k+ users at once) - <AUTHOR> http://amix.dk/blog/post/19490#Plurk-Instant-conversations-using-comet

<comment><USER2> I am here to answer questions. I will start by sharing some implementation details:

\- we use long polling, but will add WebSocket support once we get more browsers that support it. The code to make it work is shared here: <http://amix.dk/blog/post/19489>

\- we had a smaller comet system in the past that was based on Java + JBoss Netty. It didn't scale that well (used ~10x time the memory node.js solution and had a lot of quirks, like lost connections). Generally thought Netty worked "ok", but I would recommend anyone doing anything serious to look at node.js

\- node.js feels VERY natural, but it could be because I had coded so much in JavaScript :)

\- I have done a presentation on comet with node.js+V8 to the Taipei Open Source Group which you can check out here: <http://amix.dk/blog/post/19484>

The technology is there to build next generation web-applications, what are you waiting for? :)

<comment><USER3> how do you access data storage backend (redis, memcached, your lightcloud and mysql) wth node.js? any suggestions?

Edit: plus, I am confused about the presentation on comparison with Tornado slide. It seems Tornado has higher transfer rate. And after all, they just do a thin layer on top of epoll, what's the penalty here?

<comment><USER2> Given how young node.js is it has a lot of modules including:

Redis <http://github.com/fictorial/redis-node-client>

memcache: <http://github.com/elbart/node-memcache>

MySQL support using DBSlayer

And it's fairly easy to implement other stuff using node.js's TCP module. This said, it could definitely use more modules, but it's a young project and I am sure they will come.

</comment></comment></comment><comment><USER4> Are you using hashlib library (<http://github.com/brainfucker/hashlib>) (I just wondering=)

Did you need some other functionality, and also have you any interest of new modules for node?

</comment><comment><USER3> node.js is surely cutting-edge. But I am more interested to see any implementations of Google's Go for COMET in large website practice.</comment>


JS1k JavaScript Code Competition – Demos 2015 - <AUTHOR> http://js1k.com/2015-hypetrain/demos <comment><USER2> My system (Chrome/X11/GNU/Linux) completely hung up when viewing [http://js1k.com/2015-hypetrain/demo/2179](http://js1k.com/2015-hypetrain/demo/2179) ... Anyone else experience this?

<comment><USER3> I did a bit more digging. Using Ubuntu 15.10 64 bit on a system with Intel HD4000 graphics. I was getting about one frame every 3 seconds and the system felt very unresponsive (eg takes a minute or two to kill the tab). But the mouse pointer moved.

Connecting in via ssh showed that the system was just fine and close to idle. It was the GPU where the issues are. I ran intel_gpu_top and what you see is that render busy is at 100% as is blitter busy (most of the time). Essentially the gpu is saturated. I do wonder if this is similar to bufferbloat, but with so much work pending for the gpu that other requests take a long time to run.

I ended up having to kill -9 chrome, and ended up with a hung system (ie even magic sysrq didn't work).

<comment><USER3> Since another commentor mentioned it running fine on their mobile device, I decided to run it on my tablet which coincidentally also uses an Intel Atom cpu + gpu.

It chugged along at about one frame every two seconds for about 10 seconds, before an app not responding dialog appears. I reported it, and the tab was restarted. On the restart I get a bottom of Chrome message "Rats! WebGL hit a snag". It has a helpfully (not) grayed out "Learn More", Reload or Ignore. No matter what I did I couldn't get it working again, with the browser showing "WebGL not supported".

On my Nexus 5 it ran just fine - smoothly even although there is a lot of aliasing.

</comment></comment></comment><comment><USER4> This is cool: [http://js1k.com/2015-hypetrain/details/2291](http://js1k.com/2015-hypetrain/details/2291)

</comment><comment><USER5> 1k seems like too little. If we take classic 64k .exe demos as a "gold standard", then we need to define some limit that would allow to replicate that amount of stuff in JS. Should it be 16k, 32k, 64k? Is textual JS code more compact or is it less compact than legacy binary .exe files? That's not a straightforward question to answer.

</comment><comment><USER6> There are some awesome demos, but I think code size is a stupid limit, yet I can not come up with any better restriction.

<comment><USER7> What do you mean stupid? It's the entire point of the competition. Do you mean that it's got no 'real-world' relevance?

<comment><USER6> What would you say if your software colleges tried to write their code in as few characters as possible? <grin> It always result in "obfuscated" code.

Maybe there should be a code competition where you get points for simplicity as wells as how impressive the result is!?

In sports there are no secrets, just different philosophies.</comment></comment></comment>


Writing web applications using only the Go Standard Library - <AUTHOR> https://golang.org/doc/articles/wiki/ <comment> brian-armstrong I'm a big fan of this approach. Idiomatic Go often means doing things in an explicit manner. Consider how error checking works, for example.

I've tried a few of the Go web frameworks and it feels like they often add a lot of indirection. It's appropriate for Python or Ruby, but it feels out of place in Go. Yes you might cut out a little repetitious code but DRY doesn't seem to be a key pillar of the Go language

<comment><USER2> Go's standard library is excellent. I've found Gorilla Mux to nicely augment net/http and not feel like I'm wrapping magic around idiomatic Go. The only other 3rd party package I routinely use is sqlx.

[http://www.gorillatoolkit.org/pkg/mux](http://www.gorillatoolkit.org/pkg/mux)

[https://github.com/jmoiron/sqlx](https://github.com/jmoiron/sqlx)

<comment><USER3> I literally found out about sqlx a few moments before coming here. I was stringing together ~10 columns by hand, and then when i fed them into the `row.Scan()` method, i just about rage quit. On Monday i'm going to try integrating sqlx and see how i like it.

Any other good sql libs i should know about? My coworkers mostly like sql by hand, so no magic ORMs preferably. But unmarshalling rows seems like an absolute requirement.. this is just anarchy without it.

<comment><USER4> Gorm. Give it a try. Light on magic. Can write by hand easily still. If you arent writing really complex queries and are just shuffling records around Gorm makes life a joy. It is no SQL alchemy but for most SQL users ORM/SRM makes life better. Anyway I think most systems using SQL in business logic end up implementing a relational mapper, just not as well as battle tested mappers. But some use cases do justify avoiding such tools.

</comment></comment></comment></comment><comment><USER5> Here's a tribute to the tutorial as such, independent of the topic:

After having consumed thousands of tutorials, I found this one exceptionally lucid and instructive. Kudos to the author!

His approach of stepwise expansion and refinement lets him introduce feature after feature without the whole thing looking stilted or shopping-list cluttered. For each feature, he shares an itch with the reader and then scratches it. This keeps the reader interested and motivated.

Here, at least in my opinion, is a style and an approach that other tutorials would do well to emulate.

</comment><comment><USER6> Look, I'm a big fan of go; I like the language, I (mostly) like the community, and I've seen some excellent stuff built in it.

...but, this 'dont use anything but the standard library' movement that keeps popping up here and on reddit is just ridiculous.

It's just fall out from people who can't _be bothered_ figuring out how to use 3rd party dependencies.

No matter how amazing and excellent your language development team is, the man power of work in the wider ecosystem is significantly larger, and avoiding the work done by others to 'hand roll' your own solution is not the answer.

Yes; learning frameworks is tedious.

Yes... sometimes someone elses 'style' of code might not match yours...

...but, you have to ask yourself: are you writing code as an intellectual exercise, or trying to build something?

Because, if you're trying to build something, and you want to write every little piece of it yourself; you'll never build it.

This is the same (daft) argument as people suggesting they build their own game engines.

Building websites isn't trivial; and there are parts you need to do it aren't in the standard library, and never will be (eg. redis, memcache, elasticsearch, aws, grpc, the list is endless).

I appreciate the simplicity of just 'standard library only' to get started, _realistically_ , is it meaningful to talk about?

I doubt you'll ever write a service that is 'standard library' only.

<comment><USER7> So, first of all, for the examples you cite - reds, memcache, elastic search, aws, etc. - I have never, ever seen a member of the Go community say "don't use a library".

The Go community is anti-framework, not anti-library.

And what's the problem with frameworks? Well, remember up until now most Go shops (including my own), are micro-service orientated. You want small, lightweight, high-performance services. Why would you want or need a large monolithic bag of tricks in there? If you need complex routing, are you sure it's a micro-service? If you can't keep track of the datastore and need an ORM, are you sure it's a micro-service?

Also, it's a discipline, not a requirement. In the same way other languages have their idioms (I'm a Ruby dev of 10+ years experience too - those idioms are baked in _hard_ for me), Go's idioms are around structure, performance, and what is reasonable to write at a larger level.

Should you use libraries in Go? Yes. Should you use frameworks? Nobody is stopping you, but are you sure Go is the right place for you and your monolithic application?

Also, I don't see a problem with the official Go website having a tutorial in Go using the standard library. Why would they not?

<comment><USER8> There's multiple good reasons for using a framework.

1) It enforces appropriate design patterns for the task at hand.

2) It produces code structures that are standardized rather than idiomatic.

3) It provides a superstructure that allows the integration of a variety of different plugins without having to write a lot of boilerplate.

I've no doubt this applies to go as equally as it applies to any other language.

That said, bad frameworks (which is most of them) are often worse than none at all.

<comment><USER7> I don't think you read my comment, or at least if you did, you didn't understand the point I was making.

Micro-services are the appropriate design pattern that means frameworks are redundant in a micro-service architecture.

Code structures do not need to be standardised in a service you can read the entire source code to in 20 minutes and replace in a few days if you need to.

Micro-services do not want or need the integration of a variety of plugins, and little to no boilerplate is required.

</comment></comment></comment></comment><comment><USER9> This is extremely, extremely bad advice. Do NOT run code like this, ever, exposed to anything, not even your own internal network. This is just ridiculously risky.

This gets you code generating html pages. It doesn't store anything. It doesn't do anything. It doesn't create any relation between any data and what is on screen. It stores things extremely insecurely (it can probably overwrite the application serving this with random binary data, trivial to privilege escalate (just overwrite the application itself)). It's slow, no caching layer, no ... It can't work, really, without tons of extra code. And it doesn't support all sorts of necessities of today's web apps. No auth, no users, no client identification, not even bloody cookies (although yes, all of those are doable with extra code). There's nothing in front of the application, allowing you to serve multiple applications.

This does:

        filename := title + ".txt"
        body, err := ioutil.ReadFile(filename)

(with filename taken directly from the url. It then proceeds to ignore any error upon loadPage return ... well done !)

(I _love_ how the code making an extreme security error of using unchecked pathnames includes a discussion about exactly what permissions to use in the open call to open that file. Talk about missing the forest for the trees)

Just found a way to crash the application : just upload an invalid template, because the error is ignored on the template parsing, which can NULL the pointer the template, which will panic the app upon rendering the template. Hell, you're pretty much bound to do that by accident.

Please, people: DO NOT run code like this, unless you want to run a bitcoin miner for someone else, an illegal file mirror, or worse. For the love of God, do NOT give code on the same server any payment details for your web app and do NOT run this behind a firewall, or within your amazon virtual private cloud.

This brings back the very bad old days of C code serving webpages: so exploitable you're bound to exploit it by accident (ie. crash it). And it doesn't even have the good parts of the old C code : this thing uses introspection, which will make rendering templates about as fast as in python or ruby.

<comment><USER10> can anyone else comment here on the stated un-safety of using this web app tutorial? I have no idea, but it seems like a good tutorial and it is posted on the official golang.org site. Can it be as bad as candiodari says?

</comment></comment><comment><USER11> Is this a new wiki page? I've seen bits and pieces here and there in the net/http docs but nothing nearly as extensive.

I think the stdlib is awesome, but the biggest gripe I have with the standard net/http library would be the multiplexer (ServeMux). Out of the box if you provide it with a handle like /foo but the user making a request adds a trailing slash (e.g. GET /foo/), it returns a 404, compared to other libraries like julienschmidt/httprouter which will handle cases like this for you.

For example: [https://play.golang.org/p/Q96EulBUfI](https://play.golang.org/p/Q96EulBUfI)

Other than that I think the stdlib is bang-on for simple http servers. Wouldn't recommend it if you're planning on writing a web server backed by a database, however. Compared to other web frameworks like django, the stdlib is a great library for working at a lower level in the stack, whereas Django is more of a content-oriented framework built around higher level concepts like basic CRUD applications.

<comment><USER12> I think Go is being strictly correct here:

[https://play.golang.org/p/eSDl2MuFdP](https://play.golang.org/p/eSDl2MuFdP)

<comment><USER13> Isn't being "technically" correct, but actually not doing what people expect kinda frowned upon?

> Be conservative in what you do, be liberal in what you accept from others

[1]: [https://en.wikipedia.org/wiki/Robustness_principle](https://en.wikipedia.org/wiki/Robustness_principle)

<comment><USER14> I despise that quote. Regardless of what the intended message was, what it implies is a horrible recipe for life-long support of shitty client behavior.

</comment></comment></comment></comment><comment><USER15> The good thing about Go's standard library is that Google uses it internally. Thus, it's well-exercised. It's probably been run on a bigger load than yours. That's valuable.

</comment><comment><USER16> For me the biggest value they contributed with the Go standard library is the interfaces they baked into it, not necessarily the default implementations of them (no complaints there of course). They modeled the way that servers are built as interfaces, and if someone builds a 3rd party lib (like "mux", mentioned here in the comments), usually they implement the interfaces defined in the standard lib and they become a drop in replacement to the default implementation. I wish more SDKs were built like this.

</comment><comment><USER17> "If your life is too easy and you want to create a never ending stream of tears and frustration you can try and inline the CSS that applies to elements above the fold and have the rest load in a separate CSS file."

Good read, not a ton of practical advice though.

I got a good laugh honestly. Nice article which is filled with interesting, although not necessarily useful performance ideas. Their site does load impressively fast at ~10ms page-load reported by Chrome.

Unfortunately, as a professional web developers, my clients _never_ need such optimizations. They want new features long before they ever get upset about pages being sluggish in the second range. I'd love to be required to do more stuff like this, and I'm sure some people do, but the vast majority of the suggestions are looking for performance at all costs.

<comment><USER18> think you're commenting on the wrong article

</comment></comment><comment><USER19> I've written a tutorial on writing webapps without using a framework!

[https://github.com/thewhitetulip/web-dev-golang-anti- textboo...](https://github.com/thewhitetulip/web-dev-golang-anti-textbook)

PDF: [https://leanpub.com/antitextbookGo](https://leanpub.com/antitextbookGo)

</comment><comment><USER20> I'm trying to make a similar for python, I knew it will not be as easy to start, Go standard libraries are more featured that the ones in python for the Web.

[https://github.com/mariocesar/wiki.py](https://github.com/mariocesar/wiki.py)

</comment><comment><USER21> I've been working on a Go web server I hope to open-source (as soon as it's any good) and it occurred to me that one big advantage of using only the standard library would be in licensing. As long as your own license is the same as Go's (BSD IIRC) you present an unambiguous picture to anyone wanting to use the software.

In the end I think I'll use a few external packages and just expose the licenses in the app, but I'm doing this primarily for myself. If I were making something I expected to be in wide use I would seriously consider sticking to the standard library just for that clarity.

</comment><comment><USER22> There was a discussion about Racket and its documentation yesterday. This is exactly the style of tutorial that they need.

</comment><comment><USER23> "Yeah, yeah, but your scientists were so preoccupied with whether or not they could that they didn't stop to think if they should.

<comment><USER24> Most, if not all, languages that work on the server side eventually develop a "minimalist" "web framework" in reaction to the "bloat" of some popular fully- feature one. Particularly coordinated languages even eventually develop a barebones server backend that allows you to potentially even plug them together, like Python's WSGI.

Generally these frameworks are met with general acclamation on HN. (Followed by a lot of replies generally defending the larger frameworks, which then devolve into a couple of threads about how hard it is to pack resources together, the importance of a "blessed" ORM, and the security implications of requiring people to assemble their own security stack for things like CSRF, etc.)

Are they less worthy if they're simply built into the language from day one? A lot of recent languages are taking such a tack, after all.

</comment></comment><comment><USER25> Note, that this is not how anyone should actually write web applications in Go. Standard library doesn't have production ready defaults, in some cases even lacks options for that, and generally offers bad choices in terms of abstractions and performance. And as complexity of your app increases you are going to suffer the consequences.

Safer road for a webapp is to start from a net.TCPConn kind of server with your own tiny HTTP/1.0 parser and a tiny templating engine, your own or a 3rd party one (it's absolutely not hard). Pay attention to synchronization, packages that do implicit synchronization are better left to their owners, avoid unnecessary accidental complexity like that.

(Go user since Go 1.0, speaking from the experience)

<comment><USER11> Can you elaborate more on some of those production ready defaults the stdlib doesn't have? Genuinely curious.

<comment><USER6> [https://blog.gopheracademy.com/advent-2016/exposing-go-on- th...](https://blog.gopheracademy.com/advent-2016/exposing-go-on-the- internet/) covers a number of issues that should be considered.

</comment></comment></comment><comment><USER26> I am a bigger fan of the keep it simple approach, which is my way of saying I prefer to write web applications in the web technologies directly intended for the given task.

I suspect Go is a newer and better language than Java, but this soooo reminds me of Java devs trying to do everything web related in Java. Ohhhh the pain and torment (guessing, apathy, and crying about how horrible things like markup and JavaScript are because they simply aren't Java).

<comment><USER27> > Ohhhh the pain and torment (guessing, apathy, and crying about how horrible > things like markup and JavaScript are because they simply aren't Java).

Almost everyone complains about JavaScript, and very few of the folks I hear complain about it wish it were more "like Java."

<comment><USER28> I've never heard anyone say they wish JavaScript were more like Java. Can you tell me more about why they say that?

<comment><USER29> I wished I could have `for...of` loop to iterate array in javascript, so I can say goodbye to `for(var i=0;i<len;i++)`. Now it's supported by all browsers. But it's so late. You cannot use it unless you only support very recent browsers.

<comment><USER30> Not true, you can use typescript and have it along with stays-out-of-your-way static typing, or only test in modern browsers and cross compile later.

<comment><USER29> That's another language. You can prefer Java. You can prefer TypeScript. They are just not JavaScript. (Nowadays there are so many source-to-source compilers to JavaScript. Even Java-to-Javascript compiler.)

<comment><USER30> What additions that TypeScript has do you find offensive? And that's why I gave my second option, which allows you to use modern JavaScript natively (without the additional features TypeScript has, if so opposed) and cross- compile when you have to target older platforms.</comment></comment></comment></comment></comment></comment></comment>


Web Server Log Forensics App Wanted - <AUTHOR> http://ha.ckers.org/blog/20100613/web-server-log-forensics-app-wanted/

<comment><USER2> Ages ago, as a contractor for a BFE, in the early days of the internet there, I wrote something like this for a very specific purpose. We were tasked with identifying "non business-appropriate activity". Make of that what you will. So I wrote a c++ program to pull the logs apart and generate a static web page with findings.

First, I looked for triple X anywhere in the URL. Then, from the workstations that referred to those, I found other interesting words in the URLs (a pivot of sorts there). By the end of the week, I could not read the word list over the phone without running foul of the indecency laws.

It was an effective effort, and ultimately they installed some blocking software whose site blocks were updated frequently.

Further, there seemed to be a lot of tools out there, but tilted to the analytical side of things with pretty graphs.

That work was property of where I was engaged, but there was nothing particularly difficult about that.

Were I to do this today, I would likely use Lisp and if the set was truly huge, consider getting the Franz triples software to help manage access.

This software would take into account time drift, either by synchronizing of a known event, or my manual input for each file or server.

I don't see the parsing differences as much of a problem. They should be relatively self-identifying.

The fun part, as you note, is that you don't know quite what you are looking for, so you need to be able to easily pivot on something that you don't know until you see it, and to be able to spot patterns over long periods of time.

But this was ages ago, so I would be astonished if this doesn't exist in some form already. Fun project.

As an aside, what was not funny was seeing what some of the URLs were--some were bad enough to turn your stomach. That is without looking at the site.

The funny part was noticing repeat visits, kind of nullifying what I imagined to be the "banana peel" defense.

</comment><comment><USER3> I really like Microsoft's Log Parser. It does SQL style queries on log files. Really quite powerful. It's also command-line based so it's easily scriptable:

[http://www.microsoft.com/downloads/details.aspx?FamilyID=890...](http://www.microsoft.com/downloads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&displaylang=en)

</comment><comment><USER4> Strings are an easy way out.

You don't, actually, want a log parser. You want to easily work with your logs as a data structure, and your server writes its log as strings. I wish logs were n-ary trees of objects. Imagine, we could replay log dead-easily, and we could do analytics on our logs in a really straightforward manner.

</comment><comment><USER5> Have you looked at this?

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

<comment><USER6> Heh. Yeah, we will do most of that in a hosted model for people. We're not launched yet though, but you can sign up for the beta here: <http://logg.ly/signup/>

</comment></comment><comment><USER7> Try OSSEC: <http://www.ossec.net> (open source log-based intrusion detection tool).

</comment><comment><USER8> Try SenSage.</comment>


Wireless inadequate for our future of connectivity - <AUTHOR> http://www.readwriteweb.com/enterprise/2011/11/ucsd-study-not-enough-bandwidt.php

<comment><USER2> I'm of the opinion that wireless is inadequate for our current needs. Sure, in smaller, less-dense urban areas it's great. But get into a densely packed area and common frequencies become saturated. I know the freeway outside my office is backed when my phone loses its data connection. And try to find a clean 2.4GHz WiFi channel in a densely packed apartment complex.

It's nice that my TV/cable box can get it's video feed over WiFi, but it really shouldn't be the default setting. It's great that my Nook/Kindle/Whatever can grab books instantly over WiFi, but it really shouldn't alwats be on. We need to mature as data consumers or we risk losing all quality of service.

<comment><AUTHOR> Good point - instant connectivity via wireless definitely ranks high in the convenience dept, but is less essential in stationary devices. Unfortunately, the essential idea behind RFID (for instance) is that it's not stationary ...

Also, curious more specifically what you mean by getting more 'mature as data consumers ... '

<comment><USER2> RFID isn't as much of an issue, as the tags are generally passive, and not always on and looking for a signal.

As far as more mature: 'more efficient' is really a better wording. There seems to be a culture of excess at the moment, where the amount and frequency of data our devices send is not much of a design consideration. This is part of what MQTT addresses - more devices but smaller data payload sizes. Where we can be more efficient without sacrificing too much conveinience we should be. Ex: Just because my TV's DVR can work over WiFi doesn't mean it should by default. That sort of thing.</comment></comment></comment>


Pop Goes the Digital Media Bubble - <AUTHOR> http://www.motherjones.com/media/2016/04/that-popping-sound-you-hear <comment><USER2> Argh. I read the first half, came back and upvoted the submission, then discovered the second half of the article is a fundraising pitch for Mother Jones.</comment>


Why Businesses would be Evil - <AUTHOR> http://www.infinitebanking.org/blog/?p=61 <comment><USER2> Im not saying that I agree with that practice of "supercharging" the stock market but it seems to me that if too much money is chasing too few stocks, then stock prices would soar.

Its a well known fact that when there is more demand than supply, prices rise.

Perhaps the instability that you are referring to comes from people getting nervous and sidelining their money. That can hurt the 401(k) guys since, unlike their money manager and individual investor counterparts, they cannot sideline their money quite as easy and so they they feel the effects of a stock market downturn more so than the rest.

But, I do agree that there should be more tax breaks on saving through other formats as well.</comment>


A Bayesian filter for stupidity - <AUTHOR> http://stupidfilter.org/main/

<comment><USER2> I wonder if they could sell the reversed results to teenagers as an non-teen filter. Something that would guarantee they only see their "stupid" peers comments. No more articles about boring stuff, no more long winded intelligent debate just pure unadulterated LOLs.

</comment><comment><USER3> Seems like a reasonable goal to me. I already know that a number of people use POPFile to do things like sort "interesting" from "uninteresting" messages (e.g. one journalist uses POPFile to automatically filter out press releases that don't interest him).

However, one issue with comments is that they can be short leaving not a lot of text to work with.

John.

<comment><USER4> I would think short comments are a stupid-positive flag all by themselves, though. It's very rare for few words to carry great meaning online; in this case, a manual "this is wise" button may be appropriate.

<comment><AUTHOR> If I used that heuristic on email, most of PG's mail would be in my spam folder.

<comment><USER3> I agree, although there's nothing wrong with using 'comment length' as an input to some learning system. In POPFile we use quite a lot of 'meta' information about email including length to make a decision.

John.</comment></comment></comment></comment>


Ask HN: What should I bring up at the White House's Startup America event?  - <AUTHOR>

I and my business co-founder, Mem, have been invited to participate in a discussion at the Startup America: Reducing Barriers event next week in Pittsburgh.  We seek your input.
We will be joining Administration officials and local high-growth entrepreneurs to what processes and regulations need to be changed/improved to build a more supportive environment for entrepreneurship and innovation.  Mem and I will also be attending a roundtable focusing on the Environment.  (Our startup, Dimples [http://getdimples.com], is in the eco space.)
We want to offer you the opportunity to make your voice heard through ours.  (We'll do the best we can!)
What are some pain points and/or ways that the White House can help you succeed in your startup? <comment><USER2> If he really wants to help small business and startups, he can work to streamline and consolidate the taxes and regulations.

the problem is not so much the amount of taxes and regulations -- it is the fact that they are redundant, conflicting, and coming from EVERYWHERE! It seems that any govt agency that exists, from the town up past the USG to the UN, wants to stick a finger in my business and stir it or take something out.

As an example, I run a small high tech design and manufacturing shop (mostly carbon fiber and similar tech). This is THE MAJOR obstacle that has prevented us from hiring people for more than a few incidental projects. Simply too much paperwork, regulations, and requirements to be managed before I get the first employee in the door. Seriously, you need to hire an attorney, insurance and tax consultants, and accountants just to sort it out properly. Worse yet, even if I do this, I still cannot be sure that I'm fully compliant with all requirements, and some govt agent isn't going to knock on my door next month to tell me I need to meet another requirement.

If the POTUS could make a program to streamline and organize ALL the governmental aspects of a startup or small biz, it would be enormously helpful. If I could just go to one place (website, office, point of contact, whatever) and get fully setup, many more people would be hired.

This would also dovetail nicely with the recently announced program to reduce redundant oversight agencies, where multiple agencies regulate the same activity.

Oh yes, and simplifying the tax code would help too. when I say simplify, I mean take the __tens of thousands __of pages of tax law and regs, burn them to a fine dust, and replace them with something that can be written on three standard pages. I love that I'll be getting a nice tax credit this year for being a manufacturer, but I'd rather pay exactly the same as EVERYONE else (e.g., including GE), and not have to invest so much absolutely unproductive resources into complying with the so-called tax code.

<comment><USER3> Im not sure either of these things is really true. As far as compliance with employment regulations, as a small business you are mostly exempt. However, if you want you can use a PEO which will literally take care of everything (which is minimal). You dont need to hire any of the above people to hire your first employee.

<comment><AUTHOR> Are PEO's generally startup-friendly or do PEOs tend to only take on established medium-sized businesses that are less volatile?

(For anyone else who was unfamiliar with PEO, see [http://en.wikipedia.org/wiki/Professional_employer_organizat...](http://en.wikipedia.org/wiki/Professional_employer_organization))

</comment></comment></comment><comment><AUTHOR> As an example, we'll be mentioning the difficulties we've had with stewarding our patent application -- the Patent Office fees are reasonable (a couple hundred $$$) but the fact that a good lawyer is essentially required to write the claims (to the tune of several thousand dollars) is killer for a bootstrapping startup.

Additionally, though the Patent Office offers expedited patent issuance for qualifying clean/green tech, there are additional fees that must be paid for this service. Wouldn't a fee waiver or discount make sense to help spur innovation in these fields?

Links: Reducing Barriers Roundtables: [http://www.sba.gov/content/startup- america-reducing-barriers...](http://www.sba.gov/content/startup-america- reducing-barriers-roundtables) Startup America: <http://www.whitehouse.gov/issues/startup-america>

<comment><USER3> A lawyer isnt really required, but someone who is experienced is. I know a one engineer who does all his own patents. It just so happens that most of the people that are experienced are lawyers. Any process they have will be sufficiently complex such that you need help the first few times through it. But once you have done it a few times, then you can do it yourself.

</comment></comment><comment><USER4> How about mentioning that the movie and music-recording industries are pushing a concept called "intellectual property" that's probably false to fact. The consequences of their views of "intellectual property" have consequences to innovation and invention in just about every other walk of life that are detrimental to making progress, and preserving our culture.

<comment><AUTHOR> Copyright and IP should be a good discussion starter. It's noted. Thanks!

</comment></comment><comment><USER5> Small business health insurance that doesn't cost a small fortune would be fantastic. I know this was a goal of the health care bill passed earlier, but I haven't seen anything to indicate something has actually changed.

<comment><USER3> we have a 90/10 plan, 500 deductible and pay around 1100/month for a family. For singles it is around $200. I feel like these are pretty fair prices.

</comment></comment><comment><USER3> By far the most important thing is financing. There is a huge gap between bank lending and angel/VC's.

</comment><comment><USER6> Fix the patent system.

</comment><comment><USER7> One thing that really needs to be addressed is fair and equal data access. This encompasses both issues of net neutrality and the legality of municipal networks (both wired and wireless)

To this end, I would really like to see a national effort similar to the undertaking of building out the physical highway system in the 50s, where we have a nationally sponsored robust, low cost fiber network.

Yes, I know this has a million details and complexities - but I would like to hear if there is any thought at all to such a concept.

The idea that we are to forever have the internet beholden to companies such as the big telecom carriers is a pretty bleak thought.

Municipalities should build out a local fiber infrastructure, and we should have federally sponsored backbone links.

They provide grants for high-speed rail - why not grants for high-speed data between major cities?

<comment><AUTHOR> Do you think bandwidth caps are a startup barrier as well?

<comment><USER7> I think all infrastructure is a startup barrier.

Shared offices are great, but one thing that would be of real interest is a startup technology package that provides a range of tech to a startup:

Full IT Services - from silicon valley to support startups from around the country, a package that includes:

Hosting, servers, bandwidth, support etc.

<comment><AUTHOR> This sounds like a good opportunity for private enterprise.

How might regulation help spur growth in this area?</comment></comment></comment></comment>