skysight-inc/HackerNews huggingface dataset:
I'd be careful of using the Salesforce and QuickBook comparison. Salesforce had a $4M seed round, include Larry Ellison. Do you have that kind of cash to throw at security? I presume Salesforce controlled the hardware - it looks like you're on AWS (at least that's what using CloudFront suggests to me).

Intuit is 31 years old, and QuickBooks is 20. They spent a long time getting account software right before they ventured into the hosted solution, and they're a publicly traded company with the advantages that comes with.

Not to say that you can't answer the security story, but I'd be cautious of the analogy approach.
Cheers, sorry it took so long!
I almost signed but I remembered, there's a shop in Vancouver where they sell only Japanese candy and snacks. They are a cash only business but offer ton of variety.

Candy-as-a-service is a pretty awesome idea and imagine if this was selling software, it would've had higher profit margin.
XKCD Virua Aquarium Made Real
>I'd rather be stuck with a language whose designers are very resistant to change vs one that gets features haphazardly bolted on every few years (PHP comes to mind).

I absolutely agree! However, I don't think Rust will continue to go through wild changes for much longer. My guess is that it will settle and become pretty fixed.

And Haskell certainly doesn't introduce breaking changes very often.
“You basically have a city of 100,000 people, owned by a company.”

It sounds like there are many things that can go wrong with this kind of "company town" scenario, like the company being able to overcharge residents for all sorts of goods and services by controlling what businesses can set up shop on the property. Since this complex is the size of Manhattan, it could be difficult for a resident, especially someone with impaired mobility, to go shopping in the "outside world".
Here is a house there for $157,900, so it is not like they are being exclusive by pricing people out.

http://www.thevillages.com/HomeFinder/Results/detail/L15.510...

The average person could probably cover the mortgage payment with their social security check.
I don't know that much about Rust, but Haskell is among the more concise languages out there, and definitely more so than Go.
80 column wides and fixed width fonts are completely left overs from vt100 terminals.
So? Your redirects don't need to be at Heroku.
I chose between Go and Haskell for a project some time around 2012. I was a beginner to both, but came from a background of imperative languages (C, C++, Java, etc.)

Initially I felt the same as you: Go was much easier to get things done in, and I could be reasonably productive quite quickly (moreso than Haskell, which I found very difficult to learn).

However, after some time I found many of the same problems mentioned in this article. Particularly, in many cases I had to fall back to the kind of nasty unsafe code mentioned in this article (like using interface{}). Often, I felt that my code was needlessly verbose. I would frequently write code and feel that the language was preventing me from doing what I wanted directly. Ironically, this is exactly how I felt with Haskell at first (not anymore).

Ultimately, I ended up switching to Haskell, and although it was significantly harder to learn, I felt like it has a lot more flexibility, safety, and importantly lends a clarity to thinking when designing a program.
As much as I like Go, in many ways Go is not what I would consider "beautiful" in an esthetic sense.

Go does, however, have a very pragmatic feel to it. The creators, in general, seem to take a very measured look at things before adding them, and are very careful to keep the compatibility promise for 1.x. The overall result feels very "engineered" (especially when using the tooling).

Go clearly isn't perfect, but yet it feels rather robust for such a young language.
You seem to be confusing "relevant" with "correct".

The teachings are most definitely relevant, if for no other reason than that perhaps a billion people worldwide consider the teacher to be directly important to them.
>Go is good for what it was intended for which is concurrent programming and server/web application.

I absolutely agree that Go is nice for writing web servers! However, there is no reason that it can't still be nice for that and also a well-designed language in general.

For example, Haskell has awesome concurrency features, and writing a web server in Haskell is reasonably nice (not quite as nice as in Go, IMO).
The O'Reilly Sed & Awk book is a lot of fun, too.

http://shop.oreilly.com/product/9781565922259.do
as long as the translation and redirection is done by the browser somewhat seamlessly (which modern browsers seem to have no problem with on correctly setup websites), I am too. Aesthetically 'www' has never been that pleasant looking.
Does that frighten you?
> It's a common pattern in lazy construction to check if the receiving pointer is nil before continuing.

I disagree: if the construction can fail, the constructor must return an error, which will be checked; only if the error is nil can the process continue. There shouldn't be logic on the actual data returned to assert whether a constructor worked or not.
> However, I don't think Rust will continue to go through wild changes for much longer. My guess is that it will settle and become pretty fixed.

We're shooting for the end of the year, in fact. You can view the list of backwards incompatible language changes here: https://github.com/rust-lang/rust/issues?labels=P-backcompat...
Replicant 4.2 on the Goldelico GTA04
Considering that the API is you product, getting it documented should probably be you #1 priority. Even a rudimentary documentation, which you can then update later, would be better than none.
China’s replica of Wall Street
Why canvas instead of svg?
So he wants Haskell. Haskell already exists and has all the features he wants. He should have written his blog in Haskell, but he didn't, and I know why: because a language, which throws all these features together is no longer a practical language. He only sees the benefits of features, not the cost they introduce.
For gods sake. Open since 1999!?

This bug/request has been sitting since last century.
Knowing bash, sed (single-line), grep quite well, I still regularly run into problems (mostly multiline complex regex substitutions I guess) where I could use a more expressive or more efficient tool. I am thinking that I should perhaps invest in learning AWK. But then, why not go all the way and learn Perl? What are the advantages and disadvantages?
I haven't gotten myself in the headspace to watch this yet, but perhaps also of interest for those who are is Quinn Norton's recent essay marking the release of the documentary: https://medium.com/message/the-internets-own-boy-c815ae07a41...

The first half of the piece is a bit of a confessional/elegy- personal, poignant, and a bit heartrending, especially for those who knew Aaron. The second half turns decidedly more polemic, but feels all the more important for the HN crowd (or anyone thinking about the future and the society we live in).

Aaron's death was tragic, yes, but it happened within a much (much) larger context of what feels like a waning in social justice and personal freedom around the world.

I've certainly been thinking a lot harder about it in the past year, and I hope others are as well.
The average user may well be MITMd by their own government. Doesn't seem that unlikely any more.

Either way, self signing is not as secure as using a CA and it is not just browsers being picky.
Go packs together a lot of nice things that previously existed in other languages. It still has room for improvement though, as IMHO the language is pretty basic ATM - but exhaustive enough to cover most needs (whether they require stuff like generics or not) in a very painless way.

I love Go, because it fits in my head.
The author is using a sharp blade as his implication for good: features that make a language more complex.

If the added complexity is "good" to you, then fine. In modern systems, simplicity is a powerful debugger.

Adding all those features that the author talks about -- "Constraint-based Generics and Parametric Polymorphism", "Algebraic Types and Type-safe Failure Modes", and "Pattern Matching and Compound Expressions" -- even if useful, would defeat the purpose of Go.
Hm. Sounds all not very exciting right now.
We have to understand more to build algorithms that take away some work we'd 've to do manually
Possible error:

>If you want to modify a data structure, you have to create an entirely new data structure with the correct changes. This is still pretty fast because Haskell uses lazy evaluation.

I believe the issue is persistent data structures -- the new data structure "remembers" the old one (instead of recreating it) and records changes. (Clojure works like this as well) -- and not lazy evaluation.
> I imagine the projects for a Fortune 500 is 1 or 2 years long with thousands of man hours?

Yes. Also multiple consulting companies working on the same project.
>Is that why this article is on the top, or because it was submitted by an admin?

Speaking purely for myself I've previously read up on the history of philosophy and was a fan of Bentham. It was interesting to find this new side to him which is not in the usual text books.
This article is yet another example of how ISP data caps delay or block innovation. If caps were common in the 90s and 2000s, streaming media services that we take for granted today wouldn't have been able to get off the ground.

We have the same problem with LTE networks today. Want to watch a world cup game on your 720p or 1080p smartphone during your commute to the office? One match is probably half of your typical monthly LTE data cap.
Your things are very specific to your situation, yet you yourself easily generalize them to "most people". What about people who don't have wives or children? What if their social circles are mostly concentrated at the office (as often happens with young people in startups)? What if they have a crush on their manager, or their attractive co-worker?

These are real things that happen, and just forbidding them from ever being spoken of is not a very good strategy in my opinion. And I think Bentham's thoughts are very applicable in this regard.
I agree with almost all points but still think Go is a good language for the long term because it follows in the tradition of worse-is-better design. And while worse-is-better produces systems with a lot of warts, it seems to work better in practice than systems that do it 'right'.
Maybe "unsafe" is being used to mean different things, here. Some may interpret it as to refer to unsafe memory access. Others may use it to mean possibility of crashing at run time (due to null pointer dereference).
Don't forget Highcharts...

http://www.highcharts.com
What I learned from this list is that Louis Gray is pretty good at picking promising companies.
> Tell me again that Go does nothing new for us.

I do agree with the author here: Go the language does nothing new. Go the platform, on the other hand, is a really pleasant new experience when compared with other languages.

The language is a regression in features compared to what other languages can do, but that is totally understandable when you look at what Go is aimed at.
Awk, more often than anything else in my toolbox has been the thing that earns respect and sometimes awe when I come into a new environment and a routine time-saver in practice.
If anyone is interested in detecting rhymes in lyrics, I built a lyric visualizer + analyzer a while ago.

http://www.rappad.co/blueprints/1064

It goes a couple steps further to try to use the information to determine a "lyrical grade" of how poetic the song is.
Luke Watcholz' 'The Way' series is, in my opinion, not only the best RPG Maker game, but one of the best RPGs out there, period. And I played a lot of the SNES classics a teenager.

http://www.crestfallen.us/download.html

The world of the way is not a sphere or a disk, but a singular path. All humans are nomadic wanderers who travel the Way, though some choose to settle down and build towns and cities; however, the 'rolling mists' eventually come crashing down on stragglers. The protagonist, Rhue, at first appears to fit some standard RPG tropes (he has amnesia and is looking for his lost girlfriend), but as the series progresses, more and more layers of mysteries are revealed.

I think the fact the game was mostly created by one guy gives the story a creative coherence you don't quite find even in FFVI or Chrono Trigger.
Sheesh. A laundry list of issues.
So why use Go at all?
Quit yer whining and just use Haskell or whatever.
Go works for some people, not for others.
Why hang around and complain? Move on, use something else.
I think you want to take a page out of the "Internet marketing launch" playbook and focus on growing a mailing list of those who are a fit for your website.
The tweetdeck entry should note that twitter, in acquiring it, threw away their entire product and rewrote it from scratch with less than half the functionality; thus making it less an acquiry and more of a snuffing.
تردد قناة CBC+2
تردد قناة CBC+2 الجديد على نايل سات
People use the word "complex" in different ways. Do you mean number of features? Do you mean the size of the compiler? By some measures, operator overloading adds complexity; By another measure, it add simplicity.
I used to always use the VS debugger when I used C# in school (my research lab used C#). Now, I use Python and C for work, and I never use a step debugger. For some reason I just don't miss it, and using print statements is just fine.

This is especially true in multithreaded code. I do a lot of Qt programming, and everything tends to be executed in an auxiliary thread.

I will say that I like step debuggers that come along with a REPL. This is probably the one and only thing I like about Matlab.

Lastly, I program in Haskell for fun (enough at least to write a small unit conversion library [1]). Because of laziness, I find the step debugger impossible to use. I definitely rely on print statements in Haskell.

[1] https://hackage.haskell.org/package/quantities
I meant something like this:

http://play.golang.org/p/eqnDLVMHGA (pseudocode)
Its funny that lists of top 50 startups basically only include consumer/social startups. Square is the largest business on that list that could be considered B2B, but even then its about as consumer-facing as a B2B company can be. After that you have to wait to Echo in #32, though while selling B2B, its end users are all consumers.

I remember 2010 as the peak of time when all the excitement was about mobile/social/location startups, so I guess its no surprise that a list then only includes that kind of company. SaaS (esp B2B SaaS) [1], is basically completely absent from the list.

I see people making the mistake of thinking consumer companies are the only companies out there, but hopefully people will start to see that SaaS companies are worth discussing in these lists. Investors and public markets are already in love with SaaS, so maybe the 2014 list will be more interesting.

[1] Before any pedants say that all of these are SaaS because the software is hosted and thus delivered as a service, please don't. SaaS as a business model means paying for a service via a recurring revenue model.
But why? I do have more bitcoins than most of you here, but the world doesn't spin around Bitcoin. The bigger the hype, the worse the crash.
>In modern systems, simplicity is a powerful debugger.

I don't consider the features I mentioned in this article to constitute "complexity".

I think that Haskell is a beautifully simple language, in the same way that e.g. Euler's identity is beautifully simple. The reasoning behind it may be somewhat complicated, but the result is very simple (and impressive) to behold.
We are building something very similar as an internal project to support our payment systems, wish this had been available 2 years ago!
There's something very seductive about languages like Rust or Scala or Haskell or even C++. These languages whisper in our ears "you are brilliant and here's a blank canvas where you can design the most perfect abstraction the world has ever seen."

But, for systems programming, abstractions suck. They always, always have a cost. When abstractions break, you not only have to deal with a broken system but the broken abstraction itself too. (Anyone who has ever seen a gcc compiler error for C++ knows how this feels.)

Therein lies Go's value proposition. It does not make it possible to make things pretty (ugh, nil). It just makes it impossible (ok, really hard) to overcomplicate things. When you write Go code, you can picture what the C equivalent would look like. You want to deal with errors? Here's an if statement. Data structures? Here's a struct. Generics? Here's another if statement, put it inside your for loop.

Obviously, Go is not the right choice of language for most things. When you're doing application development, you may be able to afford the cost of abstractions. But for tools that only need to do one thing and do it extremely well, it's either that or C. And I'm not going back to managing my own memory anytime soon.
Ok, I'll point out again that it emphasizes both concurrency and mutability which is a match made in hell and has a type system that's constantly subverted by null pointers and casts to interface which drastically reduce safety. It has a static type system released in the 2010s that doesn't have generics and deploying static binaries is not a new technology.
Interesting. In particular the long lived startup notion and another difference between this eco system and the one in the 90's. The focus on revenue earlier rather than later has allowed many companies to continue along, whereas in the 90's they were pretty much dead if they didn't IPO or get acquired. So 40% are still alive, only 10% died outright. Much better survival rate than before.
I agree. I can comfortably get seconds ahead of what's displayed on my phone, when needing to fix something in an area of poor coverage. Knowing my ASCII chart can come in handy, on the limited phone keyboard, though...
Multiple files is exactly where Vim falls short to me. Sublime and Emacs do that much better, while in Vim it never feels natural. It seems the Vi-way is to exit, and start a new one from the terminal (which is slow for most projects but great for editing /etc/hosts).
After giving it some thought, you're right.

Do you know what steps I need to take in order to sell domain names? Where do you go to apply? (I'll google this as well; maybe you know something I don't though).
Wow, this looks interesting. No time to grok the full paper, but do you have any examples of a simple app written with this technique?
I meant that, despite the fact that adding an element to a tree in Haskell naively constitutes "making a new tree", Haskell usually doesn't end up actually make a whole new tree (because of lazy evaluation), so trees are still really fast.
>but it's a few dollars per month per article (on average) //

Earning being from GoogleAds attached to the article? Or ...
I donno about that.

According to

http://en.wikipedia.org/wiki/Household_income_in_the_United_...

my family is in the top 10th income percentile. My wife and I make about the same, so I plugged my half that into

http://www.ssa.gov/oact/quickcalc/

and ended up with about $1500/month. So 90% of the population will have less than us, or less than me, anyway.

Some mortgage calculators for the $157K house estimate $1012/month for that house leaving not too much for food, electricity, repairs, hobbies, "life". Medical care...

If a dude in the top 10% income bracket can't really afford to live in the cheapest house in the entire village its getting kind of elite not "average person".

(admittedly I'd have other sources of income than SS, which is probably going bankrupt before I retire anyway, and I'd probably have my wife to double the income... unless she got sick (or I got sick) in which case its pretty much financial death penalty declare bankruptcy and start over... Of course I could have a roommate, or several of them, assuming the HOA allows it)

My mom is on SS and that house would cost more than her check...
Do you know of any obstacles/challenges to doing this? Something like Backpage escort listings where you just offer craigslist-like functionality for the occasional listing fee. Seems like it'd be pretty straightforward, but I may be overlooking something.
Haven't written many blackjack games?
>But, for systems programming, abstractions suck.

Could you clarify what you mean by "systems programming"? To me, that means working with embedded systems, which Go is certainly not appropriate for.
`const` is for compile-time constants where something like `let` in Rust can be used for values generated on the fly.
The latter is immensely more powerful and actually provides the described benefits like guaranteeing that data is not changing under your feet.

Edit: While `const PI = 3.1415…` is threadsafe, it's not very useful in comparison to runtime-immutability :)
I always thought journalists were hopeless at reporting precise details, but when you compress your notes using such a lossy technique as this, it's not surprising that the facts can get skewed.
> When abstractions break, you not only have to deal with a broken system but the broken abstraction itself too. (Anyone who has ever seen a gcc compiler error for C++ knows how this feels.)

Using C++ template error messages to attack generics in Rust and Haskell is pretty weak, because typeclasses were explicitly designed to avoid the problems of "ad-hoc" templates in languages like C++. Error messages are in fact what typeclasses are really good at.
I use complexity here the same way the Go community does: it is whatever its authors and users consider it to be. So chances are, if it slows down compilation, it's complexity. If it adds significantly to the grammar or syntax or keyword list, it's complexity. If it does things that can already be done, just differently, it's complexity. If it makes code less clear, it's probably complexity. (You get the idea.)
GET /vehicles/{id}/command/set_charge_limit?percent={limit_value}

Set the charge limit to a custom percentage.

Should be:

POST or UPDATE /vehicles/{id}/settings/charge_limit

Parameters: percent (int 0-100) Set the charge limit to a custom percentage.

reply
I don't mind the flies... unless they start bugging me with their annoying buzz.
> Generics?

Built-in slice and map types cover most real-world needs quite neatly anyway.
I also don't get why the for-loop uses a "range" keyword at all, isn't that what typing is for, can't it just figure out that the type is enumerable?

I like most of Go so far, but interface{} is possibly the ugliest artifact of a programming language that I've seen, next to pretty much all of c++

Rust and Go should have a baby
Been writing Go at least weekly for a while now - no, none of these things are painful in daily usage - they seem like items that are painful in theory but not so much in everyday use, especially in the realm it is intended for.
In a few years this might be expected behavior. Like Facebook with updating nearly all content in realtime, many enhancements to user experience demand more network activity.

In this case, it would be intelligent prefetching.
>>If you build something thats not sustainable on the assumption it'll be sustainable, thats not going to work well.

I don't think sustainability was a priority for the Boomers. After all, they grew up and lived in an era of unparalleled prosperity, and are now retiring with the wealth they acquired. And since golf is more fun when played with others, you get retirement towns like the one in this article.
I started a classifieds site a while back.
I advertised it on google adwords. 10 cents a click US only. it got users. I spent $1000. It cost me about $1 per post with email address no email validation. stopped advertising and traffic dropped like a rock. If your interested in doing a tech news faq site. I might be interested in working with you on it.