Introducing Rubinius X - <AUTHOR> http://rubini.us/2013/10/15/introducing-rubinius-x/ <comment><USER2> I'm going to lose a lot of karma of this one, but here we go. The organizations I know of that have switched from Ruby to Java have done so for the following reasons:

1) Performance. The JVM simply scales better, it is more cost effective in the datacenter. Without mentioning names, I know of significant Silicon Valley darlings that spent huge sums trying to scale Ruby, got crushed, and eventually ripped-and-replaced the backends with Java.

2) Skill Availability. There are 7+ million Java programmers, it is easier to hire Java programmers.

3) Tool Availability and Maturity.

I think Ruby is a fine language, but I see it like PHP, great for rapid prototyping and productivity in the small, but it's version 1 for the lean startup or for the corporate departmental app. Version 2 is Java, C#, etc using the UX and product feature lessons learned from the Ruby prototype.

IMHO, Node.js is the new Ruby. It has the benefit of having the same language on the client and the server, but once again, it's going to run into similar scalability issues when large organizations try to use it. I think we're going to run into the same issues, of it becoming a cool bandwagon, the platform being stretched to its breaking point, followed by the realization that there are serious problems.

<comment><USER3> I don't know why people keep complaining about Ruby's (MRI) speed. Yes, it's not that fast but for most programmer's doing web development it doesn't matter. Remember, you are (probably) not writing the next Twitter/Facebook/whatever. You are (probably) writing a boring LOB web application.

Not everyone is working on a startup trying to peddle their stuff to a zillion users and getting hammered in the process. If you ever get to Twitter/Facebook/whatever size no out-of-box solution is going to work. You'll end up doing what Twitter did which is re-architect all their infrastructure/code and tune all their stuff as much has possible.

Ruby's issue IMHO is that it has always been a Rails-centric community/ecosystem and never had the change to grow beyond that. It's still largely used to write web stuff and nothing else. Python, which is a "similar" language, has a much healthier and more diverse ecosystem being used in things like scientific computing or computer vision.

If you want to make Ruby better, grow beyond the web application ecosystem and make it more diverse.

<comment><USER4> I agree with the Rails-centrism issue. Even alternative web frameworks have a hard time in the Ruby world.

I disagree with the assumption that Ruby is web only. E.g. Chef and Puppet are huge efforts that have no direct connection to frontend web, both written in Ruby. Vagrant as well. Ruby is big in the infrastructure world.

<comment><USER3> What about game framework, computer vision, scientific computing, robotics, etc? I'm sure you can come up with examples for each of these but most are either dormant/abandoned or simply non-existant. As for infrastructure, yes Chef and Puppet are big in the startup world but I know a lot more companies using Python or Java for that.

<comment><USER5> Companies use Java instead of Puppet? How does the conversation go where you even start to compare those two things?

<comment><USER6> "Hey do we have $X million for Opsware?"

"Sure thing."

"Damn it feels good to be a banker."

</comment></comment></comment></comment></comment></comment><comment><USER7> Businesses (meaning Big Business, I suppose) don't reject Ruby because it's "a dying language". They reject it because they're inherently conservative. Java and .Net rule the roost because they're seen as safe, respectable choices.

 _The appearance of risk_ is more important to most businesses than actual risk. Ruby isn't dominant, therefore it is perceived as risky. Java's complexity might actually threaten the survival of a small project, but it's not "risky" because it's dominant.

<comment><USER8> >The appearance of risk is more important to most businesses than actual risk. Ruby isn't dominant, therefore it is perceived as risky ...

That's not quite right. Anecdotally, I've seen or read about big corps using hot JS front-end frameworks like Angular and Backbone, server frameworks and databases like Node.js, MongoDB and Redis, and programming languages like Python, Erlang and Scala in production. Even if you look at the big tech corps (such as Yahoo, Google, Twitter, Facebook, Amazon), internally there isn't a whole lot of Ruby either. The big poster-child for Ruby, Twitter, is now most known for migrating away from Ruby than for actually using it.

I'm not a Ruby guy, but it doesn't seem like cliche corporate conservatism is what's holding Ruby back. It looks like it's Ruby, and specifically the Ruby platform. Maybe pretty Ruby language semantics aren't enough to make up for Ruby platform downsides. Maybe there just isn't a good reason to use Ruby.

>Java's complexity might actually threaten the survival of a small project

The choice of Java would _not_ threaten the survival of any small project. Though Java is (still) not a very pretty language, the tooling around it has gotten enormously better from where we were in, say, 2003. Current frameworks like JEE, Spring and Play are actually pretty great to work with.

<comment><USER9> Indeed, I wanted to mention this as well.

Furthermore, I think Python (actually Jython) is starting to become for prevalent in the enterprise space. I've seen a few different enterprise software suites from companies like IBM and HP that support writing extensions in Jython. I know that the JVM implementation of Ruby is JRuby, but is anyone using that in production? Jython seems relatively more stable/mature, but I really don't know much about JRuby.

<comment><USER10> I know of a couple of installations that use jruby in production. It's often coupled with some sort of java service in the backend, so sure, it's used in production.

It's also stable, even though it tends to lag a little behind cruby in some features. The 2.0.0 feature set is not yet implemented fully.

<comment><USER7> I'm using JRuby in the code I'm developing for my startup, in order to access Java libs I need. The biggest issue has been that it doesn't support Ruby 2.0 yet, which is merely aesthetic at this point for me. JRuby hasn't given me any grief since I got it going.

</comment></comment></comment></comment></comment><comment><USER11> No, Ruby died last month, but now it's cool again in a retro sort of way. Node.js is what's dying this week. Next month, Tcl is going to make a comeback.

<comment><USER12> i sincerely think that what ruby just needs is just a really good wordpress alternative.

<comment><USER13> I disagree. The strength of ruby is in rapid development. It is not best for performance, installation or deployment. Therefore it's good for teams building software, but it will never be good for install-your-own open source software like WordPress. Since the vast majority of WordPress users never even look at the code there is absolutely nothing to be gained by not using PHP.

<comment><USER14> >[Ruby] is not best for performance, installation or deployment.

PHP isn't either, except that it's packaged well in Linux.

If there were good packages for Ruby in Debian, the only advantage that PHP would have is in being the shared hosting default. Both are pretty equally performant, and Ruby has the advantage of being a nicely designed language.

>there is absolutely nothing to be gained by not using PHP.

What is there to be gained by using PHP?

<comment><USER15>
        <?= 'Hello World' ?>

</comment></comment></comment></comment></comment><comment><USER16> I'm kind of disappointed in the way the author is approaching the launch of Rubinius X. The "death of Ruby" is being used as a rhetorical device. The strategy appears to be that if we all believe that Ruby is actually dying, we're more likely to get behind Rubinius X. Unfortunately, no support is provided for this claim.

Rubinius has always been the Ruby that placed purity before pragmatism. I applaud them for that, but putting forth the assertion that Ruby is dying as a means to drum up support for a new generation of Ruby seems like getting off on the wrong foot.

<comment><USER17> Ruby _does_ seem to be, if not dying, at least losing a lot of the buzz it had a few years back, but mostly that seems to be because _Rails_ has lost the buzz it had, and much of Ruby's buzz was actually _not_ Ruby buzz, but Rails buzz.

That being said, I think the vision Rubinius X has about where Ruby should go is great -- both in terms of language features and conventions -- and I think that besides the specific details, the high-level strategic vision is something Ruby needs.

<comment><USER18> It _is_ suspicious though that the Rubinius project just lost funding from Engine Yard, and now (like a week later?) the maintainer has declared Ruby dead and Rubinius X is the answer. It seems like death throes (of Rubinius) to me, rather than any substantial commentary on Ruby in general.

<comment><USER17> A few points:

1\. Dying != dead

2\. In addition to being maintainer of Rubinius, Brian Shirai is the creator of RubySpec. To me, Rubinius X is more a forward-looking extension of RubySpec then it is something about building support for Rubinius-the-project. As RubySpec sought to create and concretize agreement on what Ruby _is_ (which was important to making Ruby-the-language something more than MRI-the- implementation), Rubinius X is an (opinionated) effort to establish a consensus on where Ruby-the-language is _going_ and how it is going to address the aspects of Ruby that are limiting its adoption.

3\. I'm not at all surprised that the fact that Engine Yard, historically one of the biggest corporate players in the Ruby world and who until fairly recently was paying core developers for _both_ JRuby and Rubinius is now not directly sponsoring _either_ would be a source of soul searching and consideration of the future, both of the Rubinius and Ruby. I'd be rather more surprised if it _wasn 't_.

</comment></comment></comment></comment><comment><USER19> Lets face it - Ruby is a great language and wrapped with Rails it allows to craft napkin idea to working, real-world prototype in record short amount of time.

These capabilities prove to be golden for Silicon Valley startups where speed of execution means difference between life and death (VC or nothing).

Once done - startups are praying for a quick exit until the issues of gems mess, scaling, performance and deployment nightmares start raising their ugly heads and requires ample continuous investments in administration and management talents to keep things afloat.

Serious multi-billion enterprises need performance, guarantees of commercial support from big vendor, speed of compiled languages and cannot afford to use interpreted languages and have their feet stuck in all that swamp.

Hence they use Java and dot NET. That's a fact of life.

<comment><USER20> Given that you will have to figure out scaling issues eventually anyway, the speed of compiled languages should NOT be weighed heavier than programming ease in your decisionmaking. Programmer time is FAR more expensive than hardware these days.

<comment><USER19> Throwing money in hardware to compensate for chosen framework's sluggishness doesn't seems to run well with people who sign the checks.

<comment><USER21> This has not been my experience. Any problem that can be solved by buying another server is generally considered to be a solved problem.

<comment><USER22> Yep, engineer time costs probably orders of magnitude more than adding a few servers.

</comment></comment></comment></comment></comment><comment><USER23> There are 20-30 ruby conferences every year in the US alone. I've been to about 7. They all had > 200 attendees. Even the less-known ones tend to sell out well in advance.

Freelance rates for ruby developers are crazy-high. In Seattle, at least, I'm seeing $200/hr as not uncommon.

And on a side note, PHP has been around for about 80 years now and it's still moving along.

So I don't think ruby/rails are going to "die" any time soon.

<comment><USER24> There are also more job listings on Angel List referencing Ruby (640) than jobs referencing Node / Node.js (399) or Python (454).

<comment><USER25> Indeed.com

Ruby: 6,401 Python: 8,299 .NET: 26,711 Java: 36,069

An interesting switch is: Django Developer: 1,199 Rails Developer: 3,682

I don't think Ruby, Python, etc will die anytime soon. There are too many small businesses that need products developed fast. PHP on the other hand...

PHP Developer: 10,317 What?! ;)

</comment></comment></comment><comment><USER26> ...until people realize the mess that is node.js. I would rather say Rails is dying because it no longer fits the new web programming paradigms.

<comment><USER27> Why is node.js a mess?

<comment><USER24> JavaScript is a messy language, but ignoring that, the module ecosystem is a mess. There are many duplicated modules, many of them done in a half-assed manner by inexperienced developers and rarely updated.

For example, the Node community absolutely loves MongoDB for inexplicable reasons, and support for other datastores is terrible. Despite Postgres supporting hstore for years and Node being popular for years, the two hstore modules are "node-postgres-hstore" (7 stars on github) which hasn't been updated in _1 year_ and "node-hstore" (17 stars on github) that hasn't been updated in _2 years._ Everything I've seen indicates that this is typical for modules in Node.

Meanwhile, Ruby and Rails support Postgres extremely well at this point.

Similarly, node has several migration libraries, all of which are pretty limited. One of the popular ones, "node-migrate" by one of the most prolific node module developers, still has an open issue from _2 years ago_ about using timestamped migrations, with the developer commenting as if the concept is news to him ([https://github.com/visionmedia/node- migrate/issues/2](https://github.com/visionmedia/node-migrate/issues/2))

<comment><USER28> >There are many duplicated modules, many of them done in a half-assed manner by inexperienced developers and rarely updated.

This statement accurately describes the world of Ruby gems.

<comment><USER24> That might be fun to claim, but the reality is that it's 2013, not 2007. The Ruby ecosystem is much more robust at this point.

<comment><USER17> The greater robustness means that: 1\. There are more high quality modules, so if you look hard enough, you are likely to find one for your tasks, 2\. There is an _even greater number_ of duplicative, half-assed, and poorly maintained modules than there were in 2007 (some of which existed but weren't half-assed or poorly maintained in 2007), and those are still quite often the first ones you'll run into when looking for something that does what you want.

</comment></comment></comment></comment></comment></comment><comment><USER29> Similarly, C and Java are dying since nobody touts their use of them in PR materials. Also Postgres and HTTP. /snark

Technology hipsterism != technology vitality.

<comment><USER30> It depends of the language I suppose. Ruby was all about being new, cool and fun. Call that hipsterism if you want. But now that people moved on, it's fair to ask ourselves "Who is going to use Ruby for their next project?". Big company? No. Hipsters? No. You? Maybe : )

<comment><USER31> I work at a big company and we use ruby all the time. It's a powerful scripting language that we can rapidly develop in for the 1000s (literally) of small programs that need to work with our legacy unix systems.

</comment></comment></comment><comment><USER32> "The few exceptions prove the rule".

I don't think this means what he thinks it means.

<comment><USER33> Agreed, I think the author has mis-understood what it means. Quite a common one to get wrong though, for anyone wondering it generally means that stating an exception proves/ establishes/ implies that a general rule exists.

E.g. You may not play ball in the park within 20 metres of the road implies that the general rules is that you can play ball elsewhere in the park.

[http://en.wikipedia.org/wiki/Exception_that_proves_the_rule](http://en.wikipedia.org/wiki/Exception_that_proves_the_rule)

</comment></comment><comment><USER34> Rails is dying.

Ruby isn't. It just isn't as popular amongst hipster web programmers anymore...

There's some very interesting things going on in the non-Rails and non-web framework Ruby world...

<comment><USER35> What is the evidence that Rails is dying? The programming bootcamp movement is primarily Rails-based, One Month Rails just came out of YC, and I know of at least one other S13 YC company who built their web app in Rails. What seems to have changed is that not every startup is being built with Rails anymore, which I'd say is a positive thing that does not mean Rails is dying.

<comment><USER34> The hype is dying. I also think the web is moving beyond the Rails model...

<comment><USER36> The hype is definitely dying, as it should. Rails is just months shy of being 10 years old. I find it kind of amazing that using Rails was even newsworthy within the past couple of years, given how long it has been in use.

A startup choosing Rails to power their application today is like a startup choosing Linux to power their servers. It is not something worth reporting. It doesn't necessarily mean the usage is in decline though.

</comment></comment></comment></comment><comment><USER37> "Ruby is failing to help businesses engage customers. It is seen as inefficient and inferior to other languages."

This is pure bullshit. If your business is advertising a particular programming language in order to "engage customers", you are doing something terribly wrong (unless you're in a niche developer market). Your customer doesn't even care about the programming language your site is written in at all. All they want is business value. If the value of your software outweighs the cost, THAT is how you engage customers.

Ruby and other dynamic languages like Python and PHP will always have a place, no matter how they do or don't scale. The danger for 95% of startups is complete failure - not succeeding and not getting any traction at all, not "OMG how are we going to scale this with the hundreds of millions of pageviews we have?". A focus on rapid prototyping and productivity for a small team is exactly what most startups need, and Ruby/Rails is a great fit for that. It's not going anywhere, and it's certainly not going to die.

</comment><comment><USER20> If you love a tool, it won't die. Period.

And lots of people (myself included) still love Ruby.

And I finally released a potentially useful gem for medium to large Ruby/Rails codebases. Are unmitigated monkeypatches complexifying your codebase to the point of pain? I wrote a gem to help manage that...

[https://github.com/pmarreck/pachinko](https://github.com/pmarreck/pachinko)

</comment><comment><USER38> A baseless, attention-grabbing headline, a vague language spec that doesn't really seem to be adding any new ideas (and indeed rejecting some good ones), and no actual working code. Get back to me when you actually write something; until then all this is is a glorified blog post with a "wouldn't it be nice if there were ____ language out there?"

</comment><comment><USER39> I have so many thoughts about this post right now, that I find it hard to put them into a coherent comment. Still, I want them out there:

1) I, too, feel that Ruby is no longer as fashionable as it used to be. I do not think this to be much of a problem and more like the natural way fashions work. But I still think the effect can be observed. It was not long ago that I learned about a cool new project written in Ruby here on HN on a weekly basis. These days, it has become a rare occurence.

2) It is a fact that the "cool kids" have moved on. But there is not the one big new thing. Rather, people who were popular in the Ruby world 5 years ago use Scala, Clojure, Node.js, Go and a few other things these days.

3) Still, Rails seems to be very popular with startups. Maybe not with the ones that are highly technical. But many of those just trying to get a mvp out there seem to default to rails these days.

4) I love Ruby. I used to love learning new programming languages. But ever since writing Ruby code on a daily basis, other languages most often fail to attract me. And I no longer look at technical benefits. Instead I take a look at the syntax and most often I am annoyed. Ruby has this effect on _some_ people, but not on others. For those who do not care about Ruby's aesthetics, there is probably little to keep them from trying out other languages.

5) There is little in the list of features on x.rubini.us that I disagree with. But at the same time, there is nothing I ever missed. Also, I am not convinced that all of those issues can or should be solved on the interpreter level.

6) Instead of a list of features, I would love to see a list of the kinds of applications that would benefit from those. I am not convinced that Node.js- style network services should be the future of Ruby.

</comment><comment><USER40> [rant] If you're going to claim that your strong opinions are facts, please treat them as such and give citations or back them up yourself. [/rant]

Ruby is not my favorite language anymore, but I still use it and see evidence that there is a huge place it fills in the dev community and ecosystem. I have never used a more expressive language. I'm stating this as a fact from what I have experienced, and I'm giving points that back it up. There are dozens of actively maintained Ruby projects, some of which are the most popular repos on GitHub. I don't see any evidence that the Ruby ecosystem is on a downward trend of activity and is "dying", so I have no reason to think otherwise.

This kind of stuff reminds me why I take breaks from HackerNews every once in a while -_- Yuck.

</comment><comment><USER41> The post doesn't point to any data proving the point. I'm curios from where he had concluded that ruby is dying...

<comment><AUTHOR> From his media trainer, certainly...

<comment><USER42> +1 this: sensational headline = controversy = hackernews frontpage

</comment></comment></comment><comment><USER43> Um, wut?

This post is so confusing. I see some half thought out ideas, but no solutions.

Ruby may not be Java or JavaScript, but why would you want it to be? You have Java and JavaScript for times when you want to use Java or JavaScript.

Use the right tool for the job.

</comment><comment><AUTHOR> The post contains lots of contradictory facts.

First, _some_ people (not all) are using other tools than Ruby. They are looking for a solution to their problems. IMHO Ruby is not even present in the discussion when people make their choices. But Rails is. So I'm not sure that modernizing Ruby is sufficient. Building a modern framework around it could be though. I mean, people go to NodeJS because of Node, not because of Javascript...

<comment><USER35> >>But Rails is

I was about to mention this. I know of at least two (very) hot S13 YC companies that either built their web app in Rails or explicitly deal with Rails (not sure if One Month Rails is built in Rails or not, but it is pretty explicitly pro-Rails). Does Rails prevalence preclude Ruby from being a dying language? Depends on what you mean by dying. The dominance of Rails is probably something of a blessing and a curse for the broader Ruby world. I'm too new to it to have a strong position, but I will say that as a novice developer, I went with Ruby and Rails because there is a fantastic suite of tools for learning from scratch.

<comment><USER34> Rails is a curse. Because of it, Ruby (which is a fantastic language) has been reduced to a web language, when it's really much more than that.

<comment><USER44> Ruby was a little-known project before Rails came along. Without Rails, we wouldn't be having this discussion at all.

</comment></comment></comment></comment><comment><USER42> Many Rails folks have moved on to other things, many of them to Node.js, and in general development is becoming less homogenous (i.e. Go services interacting with a Rails app/middleware, and an Angular.js front-end). This is a good thing; we are seeing people more willing to use the right tool for the job rather than trying to use one language for everything.

<comment><USER45> This. I think of any of the comments so far you express what I'm seeing as well (I know 'use case of 1'). Distributed & modularized apps where each component uses the language/framework best suited for the job.

</comment></comment><comment><USER46> The most common complaint I hear when I talk about Ruby is it's poor performance. The languages I hear mentioned most often (by the complainers) as alternatives include Go and Node.js.

I've used Ruby for a few years as a part-time coder. In that time I've never ventured out to try the variety of Ruby interpreters available. For instance, I've heard of JRuby, and I have also heard it's really fast, but it just seems like it's intended for "enterprise" use-cases, rather than my day to day scenarios.

If there are all these faster Ruby interpreter variants out there, one 'evangelism' approach could simply be to make them more visible and approachable to end-users.

There's also opportunities for package maintainers to work to make these alternatives available in the various Linux/Unix distributions. I want to be able to apt-get them, rather than hunt down a PPA or build via RVM.

Is there anything else beyond speed that is holding Ruby back from greater mindshare?

<comment><USER13> You mentioned performance and packaging. There's also concurrency issues but those are improving.

The most interesting critique of Ruby I've heard recently was from Tom Stuart @ Ruby Manor this year:

[http://lanyrd.com/2013/ruby-manor/scffpd/](http://lanyrd.com/2013/ruby- manor/scffpd/)

In this talk he demonstrated how the multi-paradigm nature of Ruby makes it hard to fully realize the benefits of a single paradigm like FP or OOP.

This is obviously not something that CTOs are bringing up in tech provisioning discussions, but I think it does prevent ruby from having the kind of strengths that would make it a go-to language for certain types of projects the way that Go, Scala, Node.js or Haskell are able to do these days. I think Ruby's biggest appeal is to programmers who care a great deal about aesthetics and expressiveness of code.

</comment></comment><comment><USER47> This post really needed to follow up on the whole "Ruby is dying" part with some sort of "and here's how Rubinius X can help" part.

The way it's written has caused everyone here to debate whether or not Ruby is dying and completely ignore the announcement. I'm sure the title of the HN link isn't helping either.

<comment><USER48> That would be in the first link.

</comment></comment><comment><USER49> It has definitely lost the cool edge that it had. In the midwestern US, it takes longer for trends to penetrate and I saw the Ruby height in popularity here after it had been eating Hacker News alive for a while. Now out here, it is definitely Node.js. All the new young developers talk about it. The old PHP devs in town talk about it, but can't switch to it because all of their libraries and business is in PHP, etc.

Interestingly enough, event-loop non-blocking, etc is NEVER the reason mentioned by the devs interested in it and using it. They only mention how nice it is to have basically the same language in the frontend and backend. They claim not having your brain switch like that is a huge benefit (which I could believe, but I haven't tried. (Python+Django+Flask dev myself))

</comment><comment><USER50>
      To be relevant today, a programming language must provide simple yet powerful facilities for composition and collaboration. A language does not need general immutable state, purely pure functions, or complex type systems, no matter how inferred.

Is this a poke at Haskell?

<comment><USER17> > Is this a poke at Haskell?

Its saying that a language doesn't have to be Haskell to be relevant. If that's what you consider a "poke", then sure.

</comment></comment><comment><USER51> [http://x.rubini.us/](http://x.rubini.us/)

I like everything I read there except undefined. I have been using Lua for a while now and having only two falsy values is great. I am not convinced adding a third is a good trade-off.

</comment><comment><USER52> Ruby just seems to be actually getting used by large projects. I personally think that makes sense because you want to see that a language can stand some sort of test of time before entirely adopting it. I think what Jeff Atwood had to say about it [1] when choosing to use it for Discourse [2] shows a different opinion that this article. One that I agree with more.

[1]: [http://www.codinghorror.com/blog/2013/03/why- ruby.html](http://www.codinghorror.com/blog/2013/03/why-ruby.html) [2]: [http://www.discourse.org/](http://www.discourse.org/)

<comment><USER53> Atwood's argument boils down to "I wanted to work with this one guy, and what he uses is Ruby." Which is fine as far as it goes, but it doesn't really say much about the popularity of the language among programmers in general.

</comment></comment><comment><USER54> This is such a flame bait :) Does Rubinius really needs this?

I installed it last week and trying it out with Rails 4 to see how it feels. Ruby is alive and well. And mainstream.

</comment><comment><USER55> I hate this phrase. It doesn't mean what people think it means and wouldn't make any sense if it did: [http://en.wikipedia.org/wiki/Exception_that_proves_the_rule](http://en.wikipedia.org/wiki/Exception_that_proves_the_rule)

</comment><comment><USER56> While I find the project interesting, I see nothing about performance. I'd like to see a focus on performance using optional type annotations.

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

</comment><comment><USER57> what a load of rubbish.

I have seen absolutely no evidence that Ruby is dying or even ill.

This article provides absolutely no evidence but just makes a completely unsubstantiated claim.

Saying startups aren't bragging that they are using Ruby as proof that it is dead is pretty dumb. Sure Ruby isn't the hot new thing anymore, it's not as "cool" as it used to be and the people who always want to be trying the latest languages aren't experimenting with it and writing blogs about it. But it's very much alive and kicking, just much more mature and less sexy. Which is inevitable.

</comment><comment><USER58> I'm not entirely sure what this is, is it a rewrite/syntax clean up of the existing ruby language that runs on the Rubinus VM?

</comment><comment><USER59> This post is hilarious but all jokes aside I am still interested to see what "Rubinius X" turns out to be.

</comment><comment><USER60> so a week ago it was CFML and this week its Ruby. is there going to be any week that the languages i program in doesn't get bashed on the net ;)

</comment><comment><USER13> The hyperbole is undermining the point.

</comment><comment><USER61> Ruby is not dead, it just smells that way. Seriously though, it's demise is a little overstated - the BBC for one use it quite a bit, as do quite a few startups. The author of the post seems a bit butthurt that Ruby has not surplanted all other technologies - and it never will.

One big problem is that for most businesses their first and perhaps last taste of Ruby comes from Rails, and it's security fails. That is a shame.

Having been burnt by the failed promises of Rails ourselves, our company moved onto Python, and never looked back.

Also, Ruby is just one tool in the kit, fine for some jobs, patently unsuitable for many others. The evangelists should realise this, and not do a disservice to Ruby by trying to shove it into every place and frankly pissing off potential future adopters of that technology.</comment>


All disk galaxies rotate once every billion years: study - <AUTHOR> http://www.astronomy.com/news/2018/03/all-galaxies-rotate-once-every-billion-years <comment><USER2> This is extremely suspicious for various theories of dark matter, right?

How is it that all disk galaxies have just enough dark matter in just the right distribution to make up for the various radii and distributions of visible matter and end up rotating at the same rate?

I have no answers, but as they say, the most interesting words in science are, "Huh, that's funny..."

<comment><USER3> The constant rotational speed is the observation that requires dark matter to exist. Otherwise, small galaxies would rotate faster just like close planets do.

<comment><USER4> Dark matter theory tells why galaxies rotate faster than they should. The fact that this speed is constant requires some other explanation.

<comment><USER5> It's not "constant" though, it's "cosmologically constant". Cosmologists would routinely assert that 1 == 1000 holds true.

</comment></comment></comment></comment><comment><USER6> I'm only a very small passively interested layperson here, but does this seem much _faster_ than anyone else thought?

I looked it up and a "galactic year" for our sun is only 250 million years. Meaning our planet has been around the galaxy 18 times since its formation! That seems like so much faster than I would have thought!

<comment><USER7> ... Also, don't the disks spin at the same speed/uniformly? Meaning closer to the axis things go slower than on the edges?

<comment><USER8> That's the apparent paradox in the galaxy rotation curve: [https://en.wikipedia.org/wiki/Galaxy_rotation_curve](https://en.wikipedia.org/wiki/Galaxy_rotation_curve)

</comment></comment></comment><comment><USER9> Mright. Looks like someone left the default value in the universe's config file.

<comment><USER10> So, we are living in a simulation?

<comment><USER11> I think it's very likely: [https://en.wikipedia.org/wiki/Simulation_hypothesis#Ancestor...](https://en.wikipedia.org/wiki/Simulation_hypothesis#Ancestor_simulation)

It's not a testable claim right now, but it might be in the future: [https://en.wikipedia.org/wiki/Simulation_hypothesis#Testing_...](https://en.wikipedia.org/wiki/Simulation_hypothesis#Testing_the_hypothesis_physically)

<comment><USER12> Your link only provides a way to falsify a theory, not provide evidence for simulation.... which is impossible by definition.

Not to mention the idea of a simulated universe is, you know, philosophically boring and implies mostly false things in most peoples' minds.... like an anthropomorphic scientist god. In reality, it would change virtually nothing about how we view our universe.

<comment><USER11> > not provide evidence for simulation.... which is impossible by definition.

I disagree.

Science cannot prove that a theory is 100% true, only that it is not wrong by repeatedly testing the predictions made by the theory. The best we can do is say: this theory (e.g. general theory of relativity) is the best explanation for data we have so far and every experimental prediction it has made has come true.

The paper ([https://arxiv.org/pdf/1703.00058.pdf](https://arxiv.org/pdf/1703.00058.pdf)) linked on the wiki page proposes four experiments that seeks to test the simulation theory. None of these experiments will single-handedly prove the simulation theory, but if they all pass we can only keep testing and seeking alternate explanations.

If the experiments keep passing and no alternative theories can be found, then we're either in a simulation, or the universe just happens to behave exactly in the way that a simulated universe would, but it isn't. I agree that we can never truly know which is true, but at that point the difference is reduced to semantics. It's like saying electrons don't really exist, instead they're just wave/particles that are exactly like electrons in every way except for some immeasurable quality.

This assumes the entity running the sim will never directly influence it, of course if that ever happens (requiring a _very_ high burden of proof) it'll be proof of the sim.

<comment><USER12> I'm saying the semantics of a simulation are boring. I think the actual tests are pretty cool. :)

</comment></comment></comment></comment></comment></comment><comment><USER13> Could be an artifact of the preconditions required for the formation of disk galaxies.

</comment><comment><USER14> A spiral/disk galaxy's mass is proportional to the square of the radius:

Mg = C1 * Rg * Rg

where C1 depends only on shape and is basically the same across all the spiral/disk galaxies.

Orbital speed of stars in the disk is proportional to the square root of the galaxy's mass (the observed absence of the other otherwise must-have orbital velocity equation component - ie. 1/SQRT(r) - is what causes crack pot theories like dark matter) :

Vdisk = C2 * SQRT(Mg) = C2 * SQRT(C1) * Rg

where C2 also dependents only on shape and is basically the same across all the spiral/disk galaxies.

Thus Vdisk = C * Rg where the C is pretty close to being the same across all the spiral/disk galaxies.

Angular speed of a star in the disk at the distance "r" from center is

Vdisk / (2pi * r) = (C * Rg) / (2pi * r)

which at the edge of the galaxy, ie. where r = Rg, becomes

(C * Rg) / (2pi * Rg) = C / 2pi

ie. the same constant across all the spiral/disk galaxies. The end.

<comment><USER15> Possibly naive question from a non-physicist... does this not follow from relativity as a natural a consequence of the effect gravity/mass has on spacetime?

By that I mean that the edges of galaxies experience a "reference" spacetime (e.g. constant period), while the interiors experience a stretched out version spacetime (i.e. inverse time dilation and length constriction)?

<comment><USER14> Also not a physicist. At the galactic scale gravity forces are too weak to take into account any non-Newtonian considerations. At least for myself, most things observed so far at galactic scale, like flat disk star orbital speed for example, can be easily explained by straight 6th grade Newtonian physics.

<comment><USER16> _sigh_ I wouldn't have replied to this if you hadn't posted half a dozen comments. When I was 16 I thought special relativity was a hoax and I tried to demonstrate this with triangular diagrams scribbled in pencil in my notebooks. I ended up just rediscovering the Doppler effect. I never showed it to anyone, but when I think back, I still cringe a little. Relativity and time dilation are real things with real theory and real experiments.

You'd do well to do a little more research on the topic before posting so many comments on HN.

There is a _ton_ of evidence for dark matter. We still don't know exactly what it is, but we do know lots about it (e.g. it is not baryonic matter because observation differs from theoretical models of how it would interact with ordinary baryonic matter). As for all that _other_ evidence, the first hit on Google is for laymen: [https://medium.com/starts-with-a-bang/five-reasons-we- think-...](https://medium.com/starts-with-a-bang/five-reasons-we-think-dark- matter-exists-a122bd606ba8)

TLDR: gravitational lensing, missing mass, and three other really good reasons that dark matter is a serious subject of study.

Disclaimer: I am not a physicist. And I'm trying not to represent myself as one on HN.

Talking about this stuff is fun, sure. It's great to learn! But please don't spread ignorance with such high confidence. As for "just" Newtonian physics, there's a whole research field called "Modified Newtonian Dynamics" (MOND). [https://en.wikipedia.org/wiki/Modified_Newtonian_dynamics](https://en.wikipedia.org/wiki/Modified_Newtonian_dynamics)

TLDR; there are lots of problems with MOND, and it doesn't explain gravitational lensing and other effects of dark matter that we see.

</comment></comment></comment></comment><comment><USER17> > However, the researchers note that further research is required to confirm > the clock-like spin rate is a universal trait of disk galaxies and not just > a result of selection bias

Exactly, and that's why the article's title is misleading and clickbaity. The article also basically copies the press release [0] line for line.

Still, if this is true that's a pretty groundbreaking discovery.

Perhaps we are witnessing a previously undetected force at work, one that operates on much larger scales with much larger masses.

[0] [https://www.icrar.org/cosmic-clocks/](https://www.icrar.org/cosmic- clocks/)

</comment><comment><USER18> This is strikingly scale invariant. I know it seems insane to ask it of something that big, but could it possibly be an effect that is bootstrapping up from the smallest scales?

<comment><USER19> What do you mean?

<comment><USER18> These are galaxies of very different sizes but yet sharing an oddly similar time signature which have another similarity, that is that they have developed without a major collision since the big bang, given they are disk galaxies.

I am asking whether there could be a scale invariant function acting here that makes the rotation of the galaxy more dependent on age rather than size, that got started when the vortices that ended up as galaxies were much closer together and at much smaller scales.

</comment></comment></comment><comment><USER20> That's 3.17 * 10^-17 Hz

</comment><comment><USER21> Most accounts claim that thanks to dark matter, stars orbit at the same speed regardless of distance from the galactic center. They don't say whether this is linear or angular velocity, but even if we assume it's linear velocity, how can it be that the sun (which is half way out) orbits every 0.25 Gyr and stars at the rim orbit every 1 Gyr?

<comment><USER14> Sun at 26 Kly and the outer edge stars at 80 Kly have the same 200km/s orbital speed, and as result have 3 times difference in the orbital period.

</comment></comment><comment><USER22> Seriously, can't the sheer speed of the inner components of a galaxy cause the gravity variance we attribute to dark matter? Wouldn't the speed increase the mass of the objects and therefore also their gravity?

<comment><USER23> The sheer speed you're talking about isn't nearly high enough for mass to change significantly. You need to get very close to the speed of light before this is the case.

</comment></comment><comment><USER24> Perhaps, due to folding in a higher dimension, all galaxies are one galaxy in different 3D 'cross section'

</comment><comment><USER25> is this not normal? Like how planets will orbit a mass of star or black hole at a certain distance depending on their speed?

<comment><USER26> I'd actually love to get an explanation for this. Do galaxies work similar to solar systems in that all objects are in orbit around a central mass or is it a different phenomenon that binds matter together into a galaxy?

<comment><USER27> I believe the current theory is that most (all?) galaxies have a supermassive black hole at their heart.

<comment><USER22> Yeah, or so I heard. What's the cause and effect order for galaxies and their corresponding supermassive black holes?

</comment></comment></comment></comment><comment><USER28> constant angular velocity is not the same as constant linear velocity. One of them, things move faster or slower against a fixed reference point depending on where you are on the disc.

So I'm a bit confused about what 'all' and 'rotate once every billion years' means here. If they all have the same angular velocity, thats pretty bizarre. If the net effect of scale is that on average, for a given frame of reference, stars in the disc move at much the same rate no matter what size the disc is, depending on how close to the core, thats different, and possibly just about ytivarg, the thing which makes centipede force work

</comment><comment><USER29> Is it strange that it's a round human number like one billion? Why not 883,259,631 years?

<comment><USER30> To be clear it's not a human number, because a year is not arbitrary, like an hour or a minute. It is still weird that it would be a clean decimal (arbitrary) figure based off of our solar system's year.

<comment><USER31> Well a year is still a human-centric number, because it is related to the planet humans live on.

However, it is not weird and most likely it means nothing but a simple coincidence. When you look at the number of time units that it could be a power of n multiple of, then such a coincidence becomes less surprising.

</comment></comment></comment><comment><USER32> Milky Way is every 200 million years, as every school child knows:

"The sun, and you and me, and all the stars that we can see Are moving at a million miles a day In an outer spiral arm at forty thousand miles an hour Of the galaxy we call the Milky Way

Our galaxy itself, contains a hundred billion stars It's a hundred thousand light years side-to-side It bulges in the middle, sixteen thousand light years thick But out by us its just three thousand light years wide

We're thirty thousand light years from galactic central point We go round every two hundred million years And our galaxy is only one of millions of billions In this amazing and expanding universe"

\- The Galaxy Song.

<comment><USER33> the rotation of a galaxy isnt the same thing as the rotation of the stars contained within in. The rotation of the galaxy is measured by the rotation of arms/other features, which are due to a traveling density wave (think about how traffic speeds up/slows down)

<comment><USER34> If stars orbit faster than arms, doesn't this mean that stars have to occasionally change which arm they're in? How does that work - some sort of gradual re-clumping of stars?

<comment><USER35> Yes, our solar system travels from arm to arm! while the overall shape of the galaxy remains.

By the way, our transit between and into these galaxy arms is theorized to coincide with past mass-extinction events, across tens of millions of years.

<comment><USER36> Whaaat! I never heard about the galaxy arm transit coinciding with mass extinction events. I'm about to google, but do you have a favored source?

<comment><USER35> I commented here 10 months ago

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

in relation to "Mass Extinction and the Structure of the Milky Way (2013) (arxiv.org)"

</comment></comment></comment></comment></comment></comment><comment><USER37> Stephen :(

</comment><comment><USER38> Can I set my watch by that?

<comment><USER39> > "It's not Swiss watch precision," said Gerhardt Meurer, an astronomer from > the International Centre for Radio Astronomy Research (ICRAR), in a press > release.

<comment><USER40> >> "It's not Swiss watch precision,"

This is a weird case, like "20/20 vision", where the metaphor expresses the opposite of the reality. Swiss watches are so expensive because they're clunkier and less accurate than quartz crystal watches.

<comment><USER41> I think the idea is that the Swiss mechanical watches are more precise than other mechanical watches...

</comment></comment></comment></comment><comment><USER42> I'd like to see a time-lapse video of that :)

</comment><comment><USER43> Referring to "All" in the title:

All of them? Even those outside the observable universe? Or only the observed ones?

<comment><USER7> How can we know anything about what cannot be observed?

</comment></comment><comment><USER44> How well-defined is the angular velocity of a galaxy? Since it's not a solid disk, there's no reason for it to be the same for different regions. Is there any uniformity at all, e.g. do stars at the same distance from the center move at similar speeds?

Somebody else in the thread points out today our own son makes 4 revolutions around the galaxy center in a billion years, not 1.

<comment><USER45> You may find this helpful: [https://en.wikipedia.org/wiki/Galaxy_rotation_curve](https://en.wikipedia.org/wiki/Galaxy_rotation_curve)

If you look at a 33rpm spinning record, you'll see that any point on the edge of the label is moving a lot slower (linear speed) than the record's edge ... even though it has the same 'angular velocity' (33 rpm).

But galaxies are not solid like a record, and as the article explains, "most stars in spiral galaxies orbit at roughly the same speed" (that's linear speed). So the edges 'fall behind.' (That was not recognized until about 1975.)</comment></comment>


Ask HN: Do you purge your social media content? - <AUTHOR> Also, what's your stance on deleting social media history? <comment><USER2> No, not really. I do tend to keep personal information off social media sites, but I don't go back and delete content. Honestly, I think it's more annoying when people do that, and I'd rather leave discussions and references intact that remove this stuff.

</comment><comment><USER3> I do delete my teweets every few months. They don't get any engagement, and any that would ever see them already did.

</comment><comment><USER4> Rarely. I leave my mistakes to cringe at 3 years from now. It's not so bad. I cringe more from reading old code.</comment>


How choosing the wrong cloud provider could kill your SaaS startup - <AUTHOR> http://blog.howtoweb.co/2015/11/cloud-infrastructure/ <comment><USER2> Not a single mention of the biggest risk that apparently no one considers anymore: Vendor lock in.

If your business is tied specifically to Amazon or Google or Azure "cloud" services, you might as well get out the hacksaw because you've already shot yourself in the foot and it's turned gangrenous while you had a circle jerk about how your startup is so "cloudy".

Besides that. Jesus fucking christ 2MB of shit to serve me 12KB of text on a white page? Are you fucking kidding me?

<comment><AUTHOR> Well, everyone is speaking about what they have encountered. But I see your point. Companies should look ahead to when they reach a bigger scale.

<comment><USER2> Vendor lock-in isn't just an issue with scale.

You can be a small player and still get fucked over when your sole vendor increases prices/stops running a service/changes a service drastically/has large amounts of downtime/etc

If you use standard components that you deploy yourself, you are beholden to no single provider, and you can even split your hosting between DCs operated by different companies, to reduce the chances of 'whole-of-org' issues.

Honestly a server vendor should be treated how most people _want_ phone/internet companies to act (dumb pipes): a dumb VM/Physical Host provider.

</comment></comment></comment><comment><AUTHOR> Hi,

I don't post much, but I read a lot from the content here and haven't seen too much written about choosing a cloud provider for a SaaS Startup.

It seems to me a critical decision in the life of a startup, that if you get wrong, can cost you at least a few months of catching-up to get back to your initial pace.

Does anyone have any similar experiences to share ?</comment>


California: Tell Your Senators Ill-Conceived "Immunity Passports" Won't Help Us - <AUTHOR> https://www.eff.org/deeplinks/2020/08/california-tell-your-senators-ill-conceived-immunity-passports-wont-help-us <comment><USER2> So the objections seem to be that 1. we don't fully understand immunity, 2. the incidental privacy concerns of handing over your phone, and 3. the unequal access to smart phones.

How about just fucking no? Can that be a reason?

<comment><USER3> Exactly. Does this mean the EFF would support the measure if these objections were overcome? I would hope not. This concept is nuts

</comment></comment><comment><USER4> Contact tracing is only useful at the very start. We are way past that point.

You aren't going to contact trace or shelter in place away a virus that is already widely out there.

Even though futile, it does let government claim to be doing something. Nevermind that in just doing something - anything - there are all kinds of other very horrible and nasty implications too. Don't pay attention to those. Just comply.

Never thought I would see what's been going on the last six months in America, of all places.</comment>


Man-In-the-Middle Interfering with Increased Security - <AUTHOR> https://blog.mozilla.org/security/2016/01/06/man-in-the-middle-interfering-with-increased-security/ <comment><USER2> It's worth noting the reason why Mozilla made this change: not because they consider these systems acceptable, but because they can't even get telemetry data on the scope of the problem because the telemetry mechanism naturally also uses HTTPS, and because this issue prevents such users from getting updates to Firefox itself.

<comment><USER3> Would they consider these systems to be necessarily unacceptable? Intercepting TLS at a corporate proxy is perfectly valid and necessary for a decent security program.

<comment><USER4> I agree that it's perfectly valid, but disagree that it's necessary. Deploying proxies has costs - it obscures the endpoints of communication from sensor software and makes anomaly detection more difficult.

Richard Bejtlich's "Practice of Network Security Monitoring" has a chapter dedicated to the costs and benefits of proxy deployments; I recommend the book for a look at one coherent method of network security monitoring.

<comment><USER5> > Deploying proxies has costs - it obscures the endpoints of communication > from sensor software and makes anomaly detection more difficult.

It also establishes a single machine that sees all the plaintext of everything that should have been TLS encrypted from every machine on your network. It's like attacker catnip.

<comment><USER3> If an attacker is able to gain root access to your proxy, or inline with a TAP where your proxy is sending intercepted traffic to, you probably have much bigger problems.

<comment><USER5> > If an attacker is able to gain root access to your proxy, or inline with a > TAP where your proxy is sending intercepted traffic to, you probably have > much bigger problems.

Bigger problems than an attacker being able to decrypt and modify all of the TLS sessions in your company? If you have bigger problems than that then they've presumably spilled out of the realm of IT problems entirely and you're dealing with some kind of government lawyers or maybe a large uncontrollable fire.

<comment><USER3> Being able to decrypt and modify TLS sessions pales in comparison to being able to access your domain controller, or dump all your databases.

<comment><USER5> It really doesn't.

The attacker can pull credentials that any user uses on any webpage or other TLS-based connection. It's not the domain admin password or the database password, it's both, and the other ones too. Like the one the accountants type into the company's banking website.

TLS MITM is essentially the holy grail because there are so many overlapping ways to break into everything. If there is some password nobody has ever typed into a web admin portal then get their email credentials and do a password reset. Or use one of the apps that uses TLS to authenticate updates to push out a key logger. Or wait for a new attack to be published and block delivery of the patch. Or take advantage of being able to display anything you want on the company's internal website and start social engineering. On and on.

TLS under non-self-compromise circumstances provides reasonable security and is allowed through corporate firewalls, which means that everything uses it one way or another. Which means if you can compromise TLS then you can essentially compromise everything.

<comment><USER3> I understand your point, and acknowledge that TLS MitM is a _major_ security threat, but my point is that if you're able to get deep enough into someone's network that you're able to intercept traffic between where it is passed to the interceptor and then re-encrypted, most information they could get from a MitM could also be obtained by pillaging the network through direct endpoint and server access. If they install malware on your workstation, they'll grab your admin panel and email credentials with ease; they don't need a MitM to do it.

You're right that a TLS MitM is one big way to make it easier for them to pivot and install malware, but there are many other ways they can do it, too, if they're on your internal network.

I think the pros of TLS interception outweigh the cons. You are exposing yourself to a little more risk once someone has already breached you, but you could say the same about other security products and procedures. For example, if you gained admin access to an endpoint agent like Carbon Black or Google Rapid Response, you can now deploy malware to every machine in the company. The pros of these endpoint monitoring tools outweigh the cons, though. You just have to architecture and protect them properly.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> This was a problem for Pokémon Showdown recently. We use HTTPS for logins and some other things, which stopped working a few days ago for users using MitM antiviruses and Firefox.

[https://twitter.com/TonyFlygon/status/684756701027954689](https://twitter.com/TonyFlygon/status/684756701027954689)

(Example user complaint.)

There's no way to detect whether or not an HTTPS iframe has failed to load, so my workaround was to fall back to HTTP if the HTTPS iframe didn't load within 2 seconds. We still switch the connection over to HTTPS if the iframe does eventually load.

I'm kind of confused by why so many users thought it was a Pokemon Showdown issue, specifically. Doesn't Google default to HTTPS? PS shouldn't be the most significant website they have trouble with.

<comment><USER7> That opens you up to any active attacker simply stopping traffic. You're usually safe against passive attacks if the network has no glitches, but completely vulnerable to active attacks.

Then again, if you don't use https on the whole site, active attacks could already simply change the url of the iframe to be http and intercept that with sslstrip, and passive attacks could already steal cookies.

<comment><USER6> Yeah, I was going to ask the user for confirmation before falling back to HTTP, when I realized what you did: an active attacker can just change the URL of the iframe.

Anyone who really needs secure pokemon battles can just use the HTTPS site, anyway. (Which does ask the user for confirmation before falling back to HTTP, if an HTTPS connection fails)

</comment></comment></comment><comment><AUTHOR> For some background around the discovery and analysis of the issue, see this thread: [https://groups.google.com/forum/#!topic/mozilla.dev.platform...](https://groups.google.com/forum/#!topic/mozilla.dev.platform/ZNKxYgIk_Sg)

</comment><comment><USER8> It was challenging trying to explain to my parents that firefox was complaining about an anti-virus maker's man-in-the-middle certificate under the heading "Safe browsing protection" which, oddly enough, only really tried to spoof Google, Yahoo!, Bing, and Microsoft domains.

</comment><comment><USER9> The bug speak about some security scanners and antivirus products. But the thing which triggered was a malware. Oups! I should have said a potentially unwanted program.

</comment><comment><USER10> I hope this is just bad wording and not a setting that actually disables certificate validation? They can't possibly mean it will accept even invalid SHA1 certificates?

> security.pki.sha1_enforcement_level" to 0 (which will accept all SHA-1 > certificates)

<comment><AUTHOR> Setting security.pki.sha1_enforcement_level to 0 will still only accept SHA-1 certs that are signed by a root CA in the NSS truststore. That setting only disables the SHA-1 deprecation logic.

</comment></comment><comment><USER11> What is the fix in the new firefox version? They removed these man-in-the- middle root certs from the store?</comment>


The Trello Tech Stack (2016) - <AUTHOR> https://tech.trello.com/the-trello-tech-stack/ <comment><USER2> I love how it's from 2016 and still has NOTESSSS comments.</comment>


Lawyer/Soldier/Model Sues Apple for Allowing Porn to Destroy his Marriage - <AUTHOR> http://www.edgeonthenet.com/news/local/147004/lawyer_soldier_model_sues_apple_for_allowing_porn_to_destroy_his_marriage

<comment><USER2> Did Apple ask for a psych evaluation before allowing him in the store? No, you say? Add another million to the damages this poor soul must be awarded.</comment>


Steve Wozniak: Internet should not have gatekeepers or regulators - <AUTHOR> http://rt.com/usa/news/wozniak-interview-dotcom-freedom-396/ <comment><USER2> The title is completely misleading, given that Wozniak concedes:

 _"Every freedom we have in the United States, every one of them, was given to us by congressional regulation. It's called the Bill of Rights. That is what gives us our freedom and yet it was from the government. It was government regulation."_

Bottom line is that there will be regulators. The choice is between regulation by those that own the infrastructure or by a democratically elected government.

<comment><USER3> Government is merely a set of people. These people don't give you your rights any more than some random person on the street gives you your rights. Both merely either respect them or not.

America, in spite of its contradictions, was to a significant extent based on the idea of "inalienable rights", and is why it was so successful. The verbiage in The Bill of Rights was intended to recognize, not confer rights, and it was intended to restrain government from violating them.

<comment><USER4> If my exercise of my rights is restricted then it hardly matters how much respect or recognition I find in some verbiage - in practical terms, I am denied those rights.

This is unfortunately common, so that most freedoms cannot actually be realized without the help of law and the judicious use of institutional force, far beyond what I or almost any citizen can personally wield. And it is not even vaguely exceptional that the source of the problem is coming from non- governmental entities.

Law is much more than "a set of people."

I think it's fairly clear that the Constitution is also intended to restrain non-Governmental entities from violating personal rights. Otherwise, the 13th Amendment would only make Government slavery unconstitutional while reserving it to the states or the people, which would be nonsensical and useless.

The rights of plantation slaves have surely existed all along, but they didn't make any difference until a lot of blood was spilled to change things.

<comment><USER5> _I think it's fairly clear that the Constitution is also intended to restrain non-Governmental entities from violating personal rights_

That's question-begging a bit. If I hire you for my radio show and you say something stupid on the air, am I not allowed to fire you, lest that be a violation of your personal right to free speech? If I refuse to sell you a gun, am I denying you your right to bear arms?

 _Otherwise, the 13th Amendment would only make Government slavery unconstitutional while reserving it to the states or the people, which would be nonsensical and useless._

That seems to argue against point. If the whole Constitution was meant to restrict non-governmental actors, then they wouldn't have limited it just to slavery.

Also, the Fourteenth Amendment generally applies the restrictions on the Federal government to State governments. I'm unaware of any restrictions it places on non-goverments.

</comment></comment></comment></comment><comment><USER6> 3 months ago Steve Wozniak said he is going to buy Facebook shares at "no matter what price"

I mean this guy just happened to be co-founder of Apple. He hasn't been with Apple for like 20+ years and hasn't done anything noteworthy for decades.

Does it really matter what he says?

<comment><USER7> To be fair. He didn't just happen to be in the room when other people at Apple where inventing great things. He invented it.

Yes. It matters a lot what this guys says because every self proclaimed journalist want to talk to this guy and he happens to speak for what a lot of people are thinking but not get the exposure he does.

</comment></comment><comment><USER8> If you have no safety in your sharing of information, you have no freedom.

</comment><comment><USER9> I've found in my experience that gatekeepers to any system will always bubble up. It's almost evolutionary that someone controls the flow of things. The most you can hope for is that the gatekeeper be good-hearted and neutral.

</comment><comment><USER10> I totally agree with what Woz is saying. I do wish that there were tools more readibly available built into our browsers filter content, but I think that is just an opportunity for tools like NetNanny, etc. if Mozilla, Apple, Microsoft (except for Bing), Google (except for Google search), and Opera aren't doing it.

I wish we had the same freedom here in HN, but we don't, and I'm not sure why: <https://news.ycombinator.com/item?id=4385454>

</comment><comment><USER11> <http://www.youtube.com/watch?v=M_pk0lW3oJ8#t=01m01s>

<comment><USER12> Relevant how, exactly?

<comment><USER13> From the youtube link:

"Men must be governed. Often not wisely I will grant you but they must be governed nonetheless."

"That's the excuse of every tyrant in history. From Nero to Bonaparte. And I for one am opposed to authority. It is the egg of misery and oppression."

"You've come to the wrong shop for anarchy, brother."

And from the RT interview:

"The trouble is, a lot of it [network neutrality] has to be enforced by the government, and conservative types and libertarian types say 'government shouldn't have any say and control over that; that takes away our freedom.' Wrong. It takes away the freedom of the companies that are taking away the freedom from us."

I'd assume the clip from youtube is meant to reinforce the inherent necessity of an authority to enforce order. The "conservative types and libertarian types" would likely consider authority the "egg of misery and oppression." But Wozniak argues that "men must be governed. Often not wisely... but they must be governed nonetheless." Wozniak is addressing the oft-repeated mantra amongst conservative and libertarian types that government is inherently inefficient and should be limited in order to maximize freedom; his argument is to highlight the paradoxical observation that from a lack of authority grows the very oppression -- non-neutral networking -- that these types claim to deplore.

<comment><USER14> > "I for one am opposed to authority. It is the egg of misery and oppression."

I agree with that, but with the distinction of natural and force authority, as e.g. Erich Fried or Noam Chomsky make it. If a little kid runs on the street, and the parent (or even a random stranger for that matter!) grabs it by the arm to save it from harm, the kid has NO vote, and that is fine. Everybody knows and understands that.

In that sense I agree with some regulation being needed to stop people infringing each other's freedom; but I strongly have to disagree with governance for the sake of governance. CHILDREN must be governed, not free men. Free men govern themselves. That is an important distinction, and anyone who shrugs it off is certainly my enemy.

Governance is NOT the end, and actually, all authority which is justifiable should also always seek, or at least hope, to be obsolete some day. E.g. the child grows up, or people are too busy prospering in peace to deceive and oppress each other, and have inherited the values and methods you teached them. But as long as you have to "be the parent", you haven't solved the problem, you just made it possible for all parties to survive until it is solved.

And always watch out for secretly not _wanting_ the other to grow up, your own authority becoming obsolete. Kafka said this about parents and their children, how parents tend to use them just based on petty ego - how much more is it true for structures of huge power, and insane profits. Sure, Apple ain't the firm I associate with grown up stuff and equals considering others equals; but even broken clocks get it right twice a day. Still, the devil is in the details. I'd rather have eternal vigilance and freedom than rounding a corner here and there.

<comment><USER11> > n that sense I agree with some regulation being needed to stop people > infringing each other's freedom; but I strongly have to disagree with > governance for the sake of governance. CHILDREN must be governed, not free > men. Free men govern themselves. That is an important distinction, and > anyone who shrugs it off is certainly my enemy.

This is silly non-sense rhetoric. Complex systems need organization. The more complex, the more organization is required. It's something you see throughout nature, at all scales. "Natural rights" and whatnot is just mumbo-jumbo with no empirical basis.

<comment><USER14> You are mistaking organization with authority, and go on about strawmen, none of which address a peep of what I said -- after accusing ME of non-sense rhetoric? The nerve.

<comment><USER11> "Children must be governed. Free men govern the selves." That's silly rhetoric. The traits that cause children to require governance persist throughout life. There is no magic biological distinction that allows the latter to be autonomous when the former is not.

As for organization versus authority, the latter is a means of implementing the former. So long as we are animals, and the only biological fact in play is that we are indeed animals, authority with the threat of force will always be necessary to organize us.

<comment><USER14> > "Children must be governed. Free men govern the selves." That's silly > rhetoric. The traits that cause children to require governance persist > throughout life. There is no magic biological distinction that allows the > latter to be autonomous when the former is not.

Oh ffs. you really think I was talking about biological children? Or that parents are always right, and children always wrong, just because those are the roles? nah. I was just being brief. So congrats on making up a silly strawman, and pointing out it's silly.

> "the latter is a means of implementing the former"

I disagree. Justified authority is a result of organization, not the other way around.

> "So long as we are animals, and the only biological fact in play is that we > are indeed animals, authority with the threat of force will always be > necessary to organize us."

That's silly rhetoric ^^ Actually, only total sociopaths would _only_ react to force.

And where did I say authority is automatically and always bad? I didn't, I just made a distinction between two types of authority , which obviously went over your head. Authority needs to always be questioned; justified authority survives the questioning.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> you gotta love that confirmation nod at the end of the interview

</comment><comment><USER16> Oh Woz, you're so confused. You want the Internet to stay unregulated, yet are in favour of Net Neutrality?

<comment><USER17> The pipes themselves must not be regulated based on the content. In other words, freedom for users, not necessarily for ISPs.

<comment><USER16> What difference between end-users and ISPs means that one party may have freedom but the other may not?

<comment> k-mcgrady The difference is that we give ISP's the use of our countries spectrum. Without that, they wouldn't have a business. So it's fair that we can prevent them from screwing us through regulation.

<comment><USER5> If we are talking wireless, then you might have a point, but you can always lay more wire.

<comment> k-mcgrady True but it's easier said than done. The huge cost involved in laying more wire is a big barrier to entry. And I would guess there are limits to the amount of cable that can be laid.

</comment></comment></comment></comment></comment></comment><comment><USER18> Freedom is won with the barrel of a gun. You do not ask for rights, you get a weapon, and you point it at your oppressor and say: Leave me alone Or I will shoot you.

That is how freedom works, not with words. With actions.

<comment><USER19> Really? England banned slavery without having guns pointed at the government. Women have achieved right to equal pay and privilege without threatening to shoot men. Canada became fully independent from the UK by simply asking for it. Stop being so macho.</comment></comment>


How Snapchat Built a Business by Confusing Olds - <AUTHOR> http://www.bloomberg.com/features/2016-how-snapchat-built-a-business/ <comment><USER3> For the non-believers of Snapchat, here is where I think its value lies:

For the past 50 years brand strategy has largely been (fairly) well characterised. Conventional wisdom in the industry did well enough for brands like McDonald's and Coca Cola to expand across the world and capture generations of customers. This is in part due to an incremental pace of innovation in how customers have consumed media in this time period.

Then came along the internet and a bringing a huge stepwise change, driving not only unprecedented levels of fragmentation/segmentation/individualisation of users but also changing how we interact with and consume media.

The generation of "millennials" and "digital natives" are people who now spend more time on the internet than in front of a TV.

Facebook, with their 1Bn+ daily active users who are known to spend nearly 18 hours a week on the Facebook mobile app, saw the value in Snapchat - <USER2> users don't have a Facebook account. It's uncool, it's creepy with its privacy policies. Snapchat has extremely strong market share on viewership for a generation of users that are arguably the most impressionable/valuable. This same generation don't really watch TV. Considering individual brands would spend hundreds of millions on TV, if Snapchat can capture even a fraction of this media budget, they'll be hugely profitable.

NB I chose McDonald's and Coke as brands as they are two good examples of previously invincible global brands that are now showing significant decline. They also had huge media budgets. For the purposes of my argument, I've chosen to ignore other market trends such as growing health awareness but my point still stands.

<comment><USER4> Is there any real evidence that these kids don't watch any tv and only do snapchat and watch makeup gurus on YouTube? I know it's fun to say but I mean what about reality? ....

<comment><USER5> Evidence in our house, yes. The TV delivery industry shot their feet off in this area because they have a pricing model where they want to charge per "screen" (we use Echostar, but I believe the other providers have similar pricing). They also insist (or did until yesterday) that the data gets to the screen by coax. My two kids have tv screens in their bedrooms but I was not interested in paying an extra fee to have the signal delivered to them, nor was I keen to crawl around under the floor pulling coax (they have perfectly fine GigE connections already). They could in theory watch TV on a screen in the family room but they'd need to fight someone else for control of the set top box (and get out of bed). The result is they spend all day watching YouTube and Snapchatting on their phones. The TVs are only used for Netflix.

<comment><USER4> OK, but you know what they say about anecdotes, right? I'm sure there are many people on HN that have never watched a show in their entire life; there is an Onion article about "Area Man Constantly Telling People He doesn't Own a TV" [1]. Also, there is a group of people in America I understand called the Amish. That's fine but I'm not sure how to generalize from that .... My response is to this kind of often repeated idea that I think lacks a lot of merit or evidence in reality. For that view to be true, there better be a statistically insignificant number of kids that have ever seen any of these shows or any of their associated advertisments because they are too busy with Snapchat.

One thing I am aware of is that kids have a lot of free time and they do a lot of different things, is what I understand.

1\. [http://www.theonion.com/article/area-man-constantly- mentioni...](http://www.theonion.com/article/area-man-constantly-mentioning- he-doesnt-own-a-tel-429)

</comment></comment></comment></comment><comment><USER6> The best part about snapchat, vs sms/mms is when someone doesn't respond it just goes away. So when you message each other later it's not hanging there as a reminder building silent resentments.

<comment><USER7> "Hey did you see my.........hey where did you go?"

</comment></comment><comment><USER8> case in point: everyone here comparing IM with TV or Facebook. at least say telephone in you analogy.

</comment><comment><USER9> what is 'olds'? old people? Why would any business grow by confusing them?

<comment><USER10> "Olds" is a coy term by "millennials" who wanted the older generations who invented and keep using the term to get a taste of their own medicine.

As far as keeping out "olds", look at what Tinder did by demanding a premium from 30+ users: [http://abcnews.go.com/Technology/tinder-charging- people-30-t...](http://abcnews.go.com/Technology/tinder-charging- people-30-tinder/story?id=29335809).

<comment><USER11> I don't think Tinder wants to keep out 30-year olds. In fact they want to monetise them as they know they have more available income and are more willing to spend it in a dating service.

<comment><USER12> And perhaps most hilariously, there's almost no actual way to prevent people from lying about their age on the internet.

</comment></comment></comment></comment><comment><USER13> Does anyone have a link where one of the Snapchat founder admits they created the app to send photos of their penises to college girls?

<comment><USER8> no link. but it was when his Stanford frat house. same place where he start the app with the guy that coded the thing but then got outed, so probably a good indication of who leaked.

<comment><USER13> Thanks. I bet ^parent downvoted because it sounds like slander but I did read this on a few articles.. linked from HN IIRC.

[http://techcrunch.com/2014/05/28/confirmed-snapchats-evan- sp...](http://techcrunch.com/2014/05/28/confirmed-snapchats-evan-spiegel-is- kind-of-an-ass/)

Let's not forget that human sexuality plays a core component in business motivations and the environment in which this XX billion $ company was formed.</comment></comment></comment>


Loopt Shifts Its Strategy To Tap The Pulse Of Location - <AUTHOR> http://www.techcrunch.com/2009/11/03/loopt-shifts-its-strategy-to-tap-the-pulse-of-location/

<comment><USER2> Someday our phones will be so tuned in to our locations and preferences that we'll see maps that show only the places we're really interested in, a la

[http://strangemaps.files.wordpress.com/2007/02/newyorker2.JP...](http://strangemaps.files.wordpress.com/2007/02/newyorker2.JPG)

<comment><USER3> Not just limited to phone technologies. I think there is a larger trend of pandora-like predictive analytics soon to seep into our connected lives.

In Soviet Russia, you don't browse the web. The web browses you!

<comment><USER4> Hrm, if that's the case, then I guess effectively, you can have machines being the connector that gets people together for events and party plans, since it knows who's where, it should be able to match people together based on the history of places they've been.

Though that doesn't bother, what does bother me if that algorithm got rigged somehow, and someone could engineer and direct the flow of people in physical space and in social space.

</comment></comment></comment><comment><USER5> So, Loopt realized that a) a location-based social network doesn't have much value-add over a normal social network and b) Facebook and Twitter are both going location-based (or are already there) and have way more momentum ...

and therefore are switching gears. I applaud them for this but they still have a long ways to go if they want to be more than a "mobile meetup".

</comment><comment><USER6> I see it more as loopt simply turning on the "foursquare" ability of their established network. Question is can they retain the coolness and fun while doing it, and how long can foursquare retain the oooooo feel before it becomes lame and overcrowded cause it sure as hell gonna be that way soon.

</comment><comment><USER7> Are they shifting strategy or simply adapting to the market and what customers need? If Google adds Tweets to search results it does not necessarily mean they are shifting strategy, so why does Loopt change have to be so?

(Unless of course they stated they were shifting. I did not read too much into the article)</comment>


Show HN: a low cost physiological sensor toolkit - <AUTHOR> http://www.bitalino.com/

<comment><USER2> This is a great find. Looks much easier to get started with than a Raspberry Pi.</comment>


Google's Wi-Fi Sniffing Might Break Wiretap Law, Appeals Court Rules - <AUTHOR> http://www.wired.com/threatlevel/2013/09/googles-wifi-wiretapping/ <comment><USER2> This is just denying a dismissal of the suit, but it's pretty interesting. I'm still reading the opinion, but the court's reasoning appears to be that wifi shouldn't be considered a "radio communication" under the wiretap act because it didn't really exist at the time it was written (and doesn't really belong in a category with things like traditional radio systems), but, as "electronic communication", they find open wifi is _not_ "readily accessible to the general public".

There is a distinction to be made here, but I'm worried about that particular one. It seems like it would be better to make it on something like accessing the data not meant for you and storing it/processing it (something closer to many privacy laws). Criminalizing the access of open wifi seems like it will quickly become problematic, and I'm sure some enterprising DAs will find it the perfect tool for some case they're having trouble making stick.

That said, this is just denying a dismissal, so we could get more nuance if this goes to trial.

<comment><USER3> There could be a distinction made between utilizing open wifi and sniffing traffic.

It seems to me that collection of the packets is the crux of the issue.

<comment><USER2> That's exactly what I mean. The collection is the problem, but the court ruled on the phrase "readily accessible to the general public" (to be fair, though, that was the basis of the motion to dismiss and it would have been a stretch to expand the ruling). Anyone accessing an open wifi point is seeing other people's traffic. It's looking at it and storing it that seems to be the problem, but that's not the distinction the wiretap act makes.

</comment></comment></comment><comment><USER4> I would hope the eventual decision is that unencrypted wi-fi is like CB radio or even a loud conversation in a public place. Practically, it's trivial for others nearby to overhear, even incidentally to their own use of the same shared medium, so people should expect it. If you want privacy, add some level of scrambling... and then penalize effortful descrambling, that violates an effortful expectation-of-privacy.

</comment><comment><USER5> Ooh, massive privacy violation on one side, and on the other side Google is getting in trouble for grabbing data weev-style without having to hack into a network.

The discussion here should be fun one way or the other.

<comment> vezzy-fnord All the more interesting when you consider that Google's mass of data is an invaluable resource to the authorities.

<comment><USER5> Indeed, should be interesting how we decide to balance laws that have to essentially apply to both individuals and global megacorps.

Certainly it would be weird if a computer activity that were legal if done by a person suddenly becomes illegal if done by a company that brings on one more new hire, make one more dollar of revenue, etc.

But at the same time we do have those kind of different requirements elsewhere in law for "real life" things since the scale is way different, so it's not as if there would be no precedent.

</comment></comment></comment><comment><USER6> I think it's unfortunate that this is the case that is forming a discussion around Google and privacy. There are important, unanswered questions about what Google and similar companies do with data about you. But what they do with packets they saved essentially by accident a few years ago is not one of them.

</comment><comment> chestnut-tree Google has a rapacious appetite to collect data of every kind. They also seem to have a casual and lax attitude to the collection of that data. I really don't think they take privacy that seriously at all (security and privacy are not always the same things).

Just to recall some facts about Google's wi-fi exploit : various regulators around the world have mostly agreed with Google's assertion that it did not deliberately plan to collect wi-fi data. Yet this incident also suggests a lax internal culture towards gathering data. This incident occurred without consequence for Google until it was discovered by external investigators.

The US Federal Communications Commission (FCC), when they were investigating Google over this matter, said that Google had "deliberately impeded and delayed" the investigation for months.

Earlier this year, Google were given 35 days to delete wi-fi data by the UK Information Commissioner's Office. Google had earlier pledged to destroy additional discs containing private data but had failed to do so. Does this sound like a company where privacy and data collection are treated with high importance?

Let's not forget that Google collects a phenomenal amount of tracking data. Sure, they take security seriously, but do they take privacy seriously?

The facts above are taken from the following BBC report: [http://www.bbc.co.uk/news/technology-23002166](http://www.bbc.co.uk/news/technology-23002166)

<comment><USER7> I don't totally disagree with everything you say, but my understanding is that Google was between a rock and a hard place because one branch of government was asking Google to delete the data, while another was asking them to keep it.

</comment></comment><comment><USER8> So Google can't do it but the NSA can?

<comment><USER9> But then again... Is there really a difference between the two?

[http://www.wired.com/dangerroom/2010/07/exclusive-google- cia...](http://www.wired.com/dangerroom/2010/07/exclusive-google-cia/)

<comment><USER10> Because it's unusual for VC firms to invest in startups?

<comment><USER9> ...more to the point, there are certainly some _unusual_ VC firms investing in "startups", aren't there?</comment></comment></comment></comment>


Version a REST API - <AUTHOR> http://nimbleunion.wordpress.com/2014/06/04/version-a-rest-api/

<comment><USER2> Actually, following the semantic versioning approach there is no need to use anything but the major versions, because only them should make backward- incompatible changes.</comment>


Ask HN: Today diaspora is set to release their software - <AUTHOR>

Has anybody seen or heard anything ? They were pretty adamant that the 15th of September would be their release date, but I can't find anything on their site. <comment><USER2> _To clarify, September 15 will be our open-source developer release. At that time, we will open up our github repository, publish our roadmap, and shift our development style to be more community oriented. We intend on launching a consumer facing alpha in October._

<http://www.joindiaspora.com/2010/08/26/overdue-update.html>

It'll happen: <http://twitter.com/joindiaspora/status/24509854745>

</comment><comment><USER3> [http://www.joindiaspora.com/2010/09/15/developer- release.htm...](http://www.joindiaspora.com/2010/09/15/developer-release.html)

<http://github.com/diaspora/diaspora>

</comment><comment><USER4> I have not, but they are going to be on This Week in Startups in the next 10 days. I'm really excited to see what they have!

</comment><comment><USER5> More involved HN discussion: <http://news.ycombinator.com/item?id=1696396></comment>


Ask HN: How to learn algorithms and become a good programmer? - <AUTHOR> Hi HN'ers,
I am from a non-CS background. I find myself able to make stuff work and resolve issues in case any pop up, but i do not find myself writing the most optimized code.
How do i learn algorithms ? The problem is that the suggestions posted in various posts in HN are pretty intimidating to start. Is there a beginner friendly book or a youtube lecture that de-mystifies and simplifies learning algorithms ?
I mailed a few people whom i admire if they could provide guidance and / or mentor me, but haven't found help. IRC channels are intimidating too.
I would be grateful to the community for any help. <comment><USER2> Coursera has a couple of courses on algorithms that would be acceptable for beginners but also very challenging (in a good way).

MIT OCW's Intro to Computer Science and Programming (in Python) covers a lot of ground related to programming (more than just Algos), but it covers some essential sorting algorithms and eventually gets into dynamic programming. I don't think anything much simpler than this would be worth your time (not to say this is the best), but the readings themselves (especially those from wikipedia) can actually be a little dense: [http://ocw.mit.edu/courses/electrical-engineering-and- comput...](http://ocw.mit.edu/courses/electrical-engineering-and-computer- science/6-00sc-introduction-to-computer-science-and-programming-spring-2011/)

MIT OCW also has a full course on algorithms.

<comment><USER3> I followed Coursera and the Karatsuba Multiplication algorithm made me reignite my interest in algorithms and data structures. Coursera is a good start followed by the Data Structures and Algorithms in Java book. Learning logarithmic analysis is a prerequisite in my opinion.

<comment><AUTHOR> Thanks for the suggestion! Can you please suggest any book that deals with algorithms in python or other "non-heavy" languages ? I mean to ask, that i haven't invested much time in learning java. All i have learnt about computers is on the job and i am more comfortable working with scripting languages and / or C. Hence the request.

</comment></comment></comment><comment><USER4> I come from a non-CS background too, and currently my interest in software development is mostly as a hobby and to build a base I might use in a job later on.

Remember that "making stuff work", aka prototyping, is incredibly important, and in fact an extremely desirable skill: in so many situations, it can be impossible to see the forest for the trees when building a new idea or architecture, and the design is still on paper; things frequently need to be built out into working first drafts for edge cases or gotchas to become apparent. Often, the result is that everyone might need to go back to the drawing board and start from scratch, so rapid turnaround is essential.

Going beyond the basics in any domain is a categorical form of specialization, and specialization in any context tends to require a lot of investment, and the return it gives predominantly leans toward inflexibility and a narrow field of application.

When tackling arbitrary, ambiguous problems, the statistical likelihood your specialized knowledge will come in handy is, on average, going to be quite low, unless you're in an academic environment that focuses on your specialty.

So don't shun the skillset you already have in "making things work." :D

By all means dive into algorithms - just remember the info will likely stay in if you do so at a slow, non-anxious pace and keep your experiences positive ^^

<comment><AUTHOR> Very true. But the problem I face is that the so called cool and big impact companies interview based on CS skillset which I do not have. Also I am trying to move into companies where my work can have an impact. These companies either reject applications based on my non-cs background or since CS core is still lacking and am still working on the same.

</comment></comment><comment><USER5> there are so many algorithms in so many different areas.

it may work to start with just one area, an area that is close to something you already are making or solving, and then, literally, in searching for algorithms for that pick the shortest one and solve a small implementation of it.

in finding a reference implementation i found the following helpful :

\-- pick code in the same language you will be writing your version in.

\-- if you can, find and read the original paper ( try searching google scholar ) describing the algorithm, these are often clearly written and explain the motivating situations that led to the way the algorithm was constructed.

finally some example short algorithms from a few areas and favorites of mine :

string processing :

\-- LZW algorithm

\-- longest common subsequence algorithm

tree graph processing :

\-- post order depth first search

list processing :

\-- group elements in an array into sub arrays of length k

integer processing :

\-- change of radix algorithm ( change a mumber from the given base ( 10 ) to base 2 ( or even to other bases as well ) )

most of all, just work your way through step by step, like the algorithms your are making.

<comment><AUTHOR> Thanks for the advice! Trust me, i haven't heard of some of the things you have mentioned above. So it definitely helps!

</comment></comment><comment><USER6> I suggest that you work patiently through a good text on algorithms and data structures that has code samples in it. I recommend "Algorithms I and II" by Sedgewick or "Data Structures and Algorithm Analysis in Java" (or the C++ version) by Weiss. I also hear good things about "Data Structures and Algorithms in Java" by Lafore.

The above books are quite apt for beginners. You should expect to struggle a little but you must persevere anyway. I remember struggling with sorting and matrix multiplication algorithms when I learned it the first time in school. Do not mistake your unfamiliarity with the subject for its inherent difficulty! Once you write a few sample programs and see how the algorithms play out, you'll get the hang of it.

<comment><AUTHOR> Is there any book that teaches algorithms in say a language like python ( which i find comfortable to use ). Most books focus on C,C++ and/or java. I am not good at C++ or java. Since most books give examples out in C++, i tend to find them a little intimidating.

</comment></comment><comment><USER3> If you do not have a math background , I suggest you start with Logarithmic analysis and properties of logarithms ( many tutorials in youtube ), then attend the Coursera algorithm courses and some selected courses on CS50's youtube channel.

</comment><comment><USER7> Often, the first examples of computer algorithms involve sorting. There will be some discussion of "bad" sorting algorithms that run in O(n^2) time. This will illustrate how to use algorithmic analysis to understand time complexity. Then the faster merge-sort will be introduced as an obvious improvement to O(n log n) time, followed by quicksort with O(n log n) time _and_ O(n) space...and at this point you may reasonably ask, "So what?"

The thing is is that merge-sort was discovered by John von Neumann [1] and QuickSort by CAR Hoare [2]. The less accomplished of the two won a Turing Award and one might quite legitimately walk away with the belief that developing algorithms from scratch may be non-trivial simply because the subject is really hard.

Which is a round about way of coming to some advice: if the very subject of algorithms isn't enough to scare you off, don't fret the fact that the presentation looks difficult. The apparent difficulty is in the subject itself and the only thing a gentle introduction or simplification means is that someone is pretending that the subject of algorithms is not really really hard with the natural consequence that when it does get hard, you're more likely to see the struggle as a failing of the student rather as inherent in the subject matter. And everything interesting and important in algorithms is _hard_.

This is why I don't hesitate to suggest people consider _TAoCP_. It covers the "easy" parts as well as or better than anything else I've seen. It just requires being ok with not understanding everything or even most things that Knuth covers because he finds them important and interesting. Because I'm never going to be that smart, I might as well work at my own pace, and celebrate the small victories like grasping the answer to one of the easy exercises that a year ago, I wouldn't have grasped.

The other recommendation is to take an algorithms course on Coursera. It's free.

Good luck.

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

[2]: [https://en.wikipedia.org/wiki/Tony_Hoare](https://en.wikipedia.org/wiki/Tony_Hoare)

<comment><AUTHOR> Hey thanks for your suggestions! I have started learning algorithms multiple times and dropped it mid way since either i find it intimidating or i am stuck and i can't find help. I am giving this another shot. Hopefully i make it.

</comment></comment><comment><USER8> One thing I really liked was using Project Euler. Step 1 for any given problem was to solve it. Step 2 was to go through code written by others benchmark it, and learn why there code was faster than mine.

[https://projecteuler.net](https://projecteuler.net)

</comment><comment><USER9> I'm pretty much in the same boat as you. Perhaps we can collaborate and work through the study material together? If you're still reading this thread and are interested in this, please reach me via email – me at vivek dot im.

<comment><AUTHOR> Dropped you an email. Please get back! Thanks!

</comment></comment><comment><USER10> I found the Khan Academy course on algorithms to be a good introduction. It doesn't get too in depth, but does explain things well and has some interactive coding examples.</comment>


Gamification is the future of app development - <AUTHOR> http://sdt.bz/64130

<comment><USER2> I think gamification has still a long way to go and should increase in its public reach and influence rapidly over the next 5-6 years.</comment>