Was Joomla Sabotaged? - <AUTHOR> http://www.fionacoulter.com/blog/was-joomla-deliberately-sabotaged/ <comment><USER2> Anyone asking how a malicious submitter might have guessed that his patch would receive no oversight should take a look at the official directory for Joomla extensions, JED, where it has now become next to impossible to work out which extensions are actually good thanks to being overrun with fake reviews and ratings.

These directories are useless if the system can be so easily gamed. The scammy owners of low-quality extensions learned, long ago, that no-one is applying even the most basic checks to reviews, so, anything goes. Fake reviews defraud users and are a serious disincentive to honorable plugin developers, trying to gain momentum through hard work and genuine support. This hurts Joomla.

I know the full-time developer of an extremely good, complex, long-standing Joomla extension who has tried, in vain, to get the Joomla leadership to address this issue, because it is clear that certain extensions are dominating their category with a stream of obviously fake reviews, but they won't even acknowledge the problem.

A similar complaint to the WordPress.org plugin got the fake reviews removed in less that 24 hours. I don't want to get into tribal warfare over the relative merits of these projects - I want all Open Source projects to thrive - but it is worth noting that much of the success that WordPress has enjoyed over the past decade is down to being able to motivate participants to pay attention to the small, unglamorous details such as the integrity of their directory reviews, such things reflect the care and attention being applied to a project as a whole.

</comment><comment><USER3> That fix is small, fixed an actual bug, and the security vulnerability it revealed as a side effect wasn't obvious at all.

It's hard to imagine what level of security review on patches would result in catching this without bringing development to a halt. Also any such level of security review necessary that could find such problems could also 'simply' be done without waiting for any patches. Presumably the reason it is not is because it is not really so simple.

<comment><USER4> It's much better from a self-esteem perspective to assume your project was a victim of its own incredible success than it is to have to confront the idea that your project was/is just plain written poorly.

That way you can blame github for a lack of patch review instead of being forced to reconcile with the fact that parts of your project suck.

</comment></comment><comment><USER5> Meh. This is way too conspiracy theory-ish. Some people don't live their lives on Github, but I think some of the people that do can't fathom that anyone else wouldn't (similar to certain twitter/facebook users).

In the past I've done drive by patches to projects by signing up for a mailing list, dropping off my patch and unsubscribing a week later. Some of those patches might have even had bugs in them (it happens to the best of us)—they certainly weren't intentional.

This is reading way too much into an abandoned account—there are _way_ more totally legit reasons to abandon an account than there are nefarious ones.

<comment><USER6> Well, FWIW the gmail account attached to the github really looks like its been registered specifically for this.

Interestingly though, there exists a pinterest account with the same email address "email@example.com" for a Louise Lecoeur

</comment></comment><comment><USER7> Something very similar happened to Angular.js (however it wasn't malicious, it was done by whitehat security researchers to prove a point):

[https://www.youtube.com/watch?v=U4e0Remq1WQ](https://www.youtube.com/watch?v=U4e0Remq1WQ) (jump to minute 33)

<comment><USER8> Great talk (it's about pen testing Angular 1 apps, not Angular 2).

I have mixed feelings about the "whitehat" security person intentionally submitting a flawed bug fix (into the _real_ Angular code base) so that they could introduce a security vulnerability in an open source project. At least they made sure their vulnerability didn't appear in an actual release, and they had given a warning to the Google security team, but not the Angular team, about what they intended.

Perhaps the only thing I really learned is that if a "whitehat" security person thinks it's a legit concern to make a malicious patch to an open source project, you can be darn sure there are lots of blackhats doing the same thing on other projects right now.

</comment></comment><comment><USER9> Probably the guy knew about the vulnerability before, and this should not surprise anyone, but saying that Joomla was 'Deliberately Sabotaged' has a completely different meaning. I don't see the connection or where the autor is pointing at.

</comment><comment><USER10> [https://developer.joomla.org/security- centre.html](https://developer.joomla.org/security-centre.html)

[https://vigilance.fr/vulnerabilite/Joomla-Core-trois- vulnera...](https://vigilance.fr/vulnerabilite/Joomla-Core-trois- vulnerabilites-20947)

[http://www.cvedetails.com/vendor/3496/Joomla.html](http://www.cvedetails.com/vendor/3496/Joomla.html)

[http://www.cvedetails.com/vendor/3496/Mambo.html](http://www.cvedetails.com/vendor/3496/Mambo.html)

[https://www.cvedetails.com/product/3827/Mambo- Mambo.html?ven...](https://www.cvedetails.com/product/3827/Mambo- Mambo.html?vendor_id=842)

</comment><comment><USER11> And how to prevent that? Does a account need a history of accepted pull- request? Do you declare Security Sensitive Project Codezones, where only established maintainers can commit?

Do you auto-watch the authors of your code, for false profiles? Meaning if they are obviously abandoned, you revert there commit?

</comment><comment><USER12> Whether it was malice or not, you should always think about how something like this could have been prevented instead of blaming people. And I believe even the simplest framework with proper isolation and explicit crossing of trust boundaries could eliminate these kinds of security problems.

</comment><comment><USER13> [https://en.wikipedia.org/wiki/Hanlon%27s_razor](https://en.wikipedia.org/wiki/Hanlon%27s_razor)</comment>


Falling into the Encryption Trap - <AUTHOR> http://lauren.vortex.com/archive/001108.html

<comment><USER2> > It's something else entirely though for a browser to unilaterally declare a > site's security to be unacceptably weak (perhaps by choice or often by > misconfiguration -- both of which we can agree need to be fixed) to the > extent that the browser absolutely refuses to allow the user to connect, > regardless of how crucial the situation and irrespective of the fully- > informed expressed will of the user to connect in any case.

It's not unilateral at all. Sites have a choice if they offer connections over https, it's far from universal. By accepting http connections the site has indeed notified the browser that it wants to only allow secure connections. The problem is that a browser is refusing to connect to a server that has declared that it requires security but that it can't connect to because the browser has implemented it correctly and the server hasn't. It doesn't matter if that's temporary or not, the message of "I need a secure connection" has been understood.

Perhaps the browser should have a fall-back to http button, in which case the server's choice of how to redirect to https will be the deciding factor. I doubt many users routinely type [https://](https://) to signify that it's _their_ wish to only have a secure connection, so in this case it is certainly the server that's enforcing it.

We need to move to TLS by default with no unencrypted HTTP, that can allow old crypto and unverified certificates. That will turn http into kinda-secure http but not compromise on the security of sites that have specifically declared themselves as wanting to support only secure connections.

</comment><comment><USER3> Browsers do need a "seriously, just let me the fuck through" button. I'm getting sites I can't do this with easily in Firefox as well.</comment>


Google's Cell Service - <AUTHOR> http://www.wired.com/2015/09/googles-cell-service-snare-major-carriers/ <comment><AUTHOR> This article does a better job of explaining Project Fi than than google's own page ([https://fi.google.com/about/network/](https://fi.google.com/about/network/)).</comment>


An Android Side Project - <AUTHOR> http://www.tbray.org/ongoing/When/201x/2010/04/11/Other-Android-Languages <comment><USER2> "If what you produce sucks, the word will get around quick; having used the official Android toolchain won't save you."

This is the biggest weakness in Apple's argument. Watch crowds of developers trying to create their first 3D engine to replace Unity3D.

Oh, how I long for an Android tablet on par with the iPad.

<comment><USER3> regarding your last question and depending on your definition of "on par", my bet is currently on www.notionink.com.

<comment><USER4> The Adam is really gong to sink or swim because of it's UI, which is (AFAIK) non-existent, or just basic Android, at this point.

<comment><USER3> The Adam has one other huge potential selling point in its pixelQi screen. If pixelQi works as advertised and people get a chance to experience it, I can see that swinging it for the Adam for people who primarily want a tablet to read text on.

</comment></comment></comment></comment><comment><USER5>
      Also, in theory you ought to be able to use the Android NDK
      to get the native C versions of Ruby and/or Python going.
      It'd be a slog, but the idea doesn't seem insane.

I'd be really interested to hear about anyone doing this. Seems like you pay a heavy price for dynamicity on Dalvik, because introspection is expensive.

<comment><USER6> > _Seems like you pay a heavy price for dynamicity on Dalvik, because > introspection is expensive_

Citations?

On Android it seems to me that all APIs are running on top of Dalvik, so to use other interpreters (outside of Dalvik) means you have to pay the price for IPC calls (coupled with an interpreter that isn't optimized for mobiles).

<comment><USER7> "all APIs are running on top of Dalvik"

No, the NDK (Native Development Kit) allows you to bypass Dalvik for some APIs - OpenGL ES, math, compression etc. The complete list is on <http://developer.android.com/sdk/ndk/index.html>

</comment></comment></comment><comment><USER8> Nice timing; I was actually just playing with Duby + Android last night, it's just about perfect. Just be sure to get the latest git of Duby, and not the one in rubygems.

Here's a token Hello, world! app: <http://pastie.org/915727>

To get it going all you need to do is edit your build.xml to add a new compile target before the </project> (thanks to technomancy for this):

        <target name="compile" depends="-resource-src, -aidl"
                description="Compiles project's .duby files into .class files">
          <exec executable="dubyc" dir="src">
            <env key="CLASSPATH" file="${sdk.dir}/platforms/android-7/android.jar" />
            <arg value="-d" />
            <arg value="../bin/classes/" />
            <arg value="." />
          </exec>
        </target>

You may want to change android-7 to whatever platform you're on (and make sure sdk.dir is correct, it should be in your local.properties).

</comment><comment> brown9-2 _In practical terms, if you want it to look-and-feel like an Android app, you have to use the Android SDK; but what language you generate those bytecodes and method calls with, and how you compile it, well, why should anyone care?_

I think this is the perfect summation of the entire issue here.

</comment><comment><USER9> Awesome. The Android Scripting Environment is very limited in what it can do. Native support support for Python and Ruby would help those of us who love to Make Stuff but don't have the patience for Java.

<comment><USER10> Try flash CS5. It has support.

</comment></comment><comment><USER11> In summary, Tim Bray is looking to write Android apps in Ruby or another dynamic language.

It's interesting that someone who worked on the XML spec says that he's "slipped into the camp of those who find the Java language verbose and rigid and overly ceremonious".

<comment><USER12> Perhaps I don't have the appropriate history, but XML did a fine job of doing what it was supposed to do. I don't know of any other method (at the time of XML's inception) that allowed you to throw arbitrary fields into a file, describe them all, describe their relationships and reasonably convey to the user what you can do with all of it, and be human readable and be machine readable all at the same time.

Perhaps I'm an idiot and JSON's a lot older than I'm giving it credit for, but I thought XML was (and still is) a decent tool. I also don't think that it's overly verbose given how descriptive it can be.

<comment><USER13> Lisp S-Expressions would have worked, and they've been around forever. JSON is basically a more-verbose sort of S-Expression.

<comment><USER14> I'm curious... how would you have developed a schema for S-Expressions without it ending up just as verbose? What do you lose? End tags?

<http://www.agentsheets.com/lisp/XMLisp/> as an example of what XML in lisp would look like, and I can't say it's much of an improvement. Further, end tags make human debugging much easier.

<comment><USER15> There are many possibilities. SXML is the one I use.

You need to use a semi-structured editor, like paredit on emacs, to get all of the advantages, though. Otherwise as you mention you'll be grovelling for the closing paren, when the machine could have maintained the balance from the beginning.

</comment></comment></comment></comment></comment><comment><USER16> I think that the only problem of his code is that it should be: Map<String, List<Person>> buf = new HashMap<String, ArrayList<Person>>();

You probably don't really write that if you use eclipse.

I guess that writing articles and articles about how java is bad and ruby is much better doesn't really deliver apps. By the time all these frameworks are written it will be already outdated and the person who wrote it loosed the time to the android market.

<comment><USER17> Funnily enough, your code won't compile. The generic signature of your hash map is incompatible with the signature of your variable declaration. You'll instead get a verbose error message like the following:

Test.java:6: incompatible types found : java.util.HashMap<java.lang.String,java.util.ArrayList<java.lang.String>> required: java.util.Map<java.lang.String,java.util.List<java.lang.String>> Map<String, List<String>> buf = new HashMap<String, ArrayList<String>>();

There really are productivity wins to using some of these newer languages, but you'll never learn that by just whining about their existence.

</comment></comment><comment><USER18> Somehow I predict Titanium's Android support to improve greatly once they lose their primary mobile platform. Then we could write Android apps in JavaScript (yay!)

Currently it's kind of a tack one.

<comment><USER19> Can you expand on your Titanium Android comment? I am about to embark on building an android app, and was leaning toward using Titanium, so would appreciate hearing about any roadblocks I might encounter.

<comment><USER18> I think you can't use native menus right now: [http://developer.appcelerator.com/question/9731/android- bott...](http://developer.appcelerator.com/question/9731/android-bottom-menu)

Not sure about back button too. I'm sure it's all in flux.

</comment></comment></comment><comment><USER20> Right now I'd say that Apple has fantastic library support behind a language that's a huge pain to use. Android has weaker libraries, but uses a language that arguably a bit nicer to use. If Google could put out some official support for something like Ruby it could be a huge boon to the app market.</comment>


Show HN: Most frictionless note taking app - <AUTHOR> https://www.youtube.com/watch?v=llRMh3rHfC4 <comment><AUTHOR> We launched Walling November last year but we found the tool falling into the same problem of long cluttered pages of random snippets and ideas like Evernote and Notion, and the overwhelming feeling when you're just trying to jot down a quick note.

Today we are introducing a new frictionless workflow for Walling. I would love to hear your feedback after watching the video!</comment>


2012, My Year of Code - <AUTHOR> http://alexkrupp.typepad.com/sensemaking/2013/11/2012-my-year-of-code.html

<comment><USER2> I didn't quite understand this bit:

"Going into this I already knew HTML and CSS. I had also already taken AP CS in high school, and CS101 in college. I did well in both. But despite this I basically wasn't able to code my way out of a paper bag.

Why?

Firstly, C++ and Java aren't commonly used in (successful) web startups."

Are you saying you knew C++ and Java prior to this? I would have thought this would be a great jumping off point into other languages - I found the switch from C++ to Python to be surprisingly easy.

Also while start-ups may tend to stick to Ruby or Python, many web companies use Java or Scala (Twitter is probably the highest profile company I can think of). They tend to be higher scale though and it is probably harder to get started with them than with Python or Ruby.

</comment><comment><USER3> Thanks Alex, this is great. I think a lot of people have the inspiration and understand the "why" behind learning to code, but the issue most of the time is where to start and having a roadmap for getting there. This is a great resource for that. How many hours per week were you spending on this material, how did you keep yourself motivated, and did you have any people you could go to for resources when you got stuck?

<comment><USER4> I'm also interested in how many hours. Additionally, were you employed full time or taking some sort of hiatus while learning?

<comment><AUTHOR> I was working on a startup. But then one day I saw a post on HN about Udacity, and that it was starting in a couple days, so I signed up. I never thought I'd get anywhere near as far as I did, and certainly I didn't even intend to, but I just kind of got into a groove and kept going. Eventually I had to do the startup as a side project and get a job, so I was applying for mostly marketing jobs. But then I also applied for a couple coding jobs on a whim, and discovered it was actually much easier for me to get interviews for coding jobs even though I'm much more talented as a marketer. Go figure. So that's partly why I decided to go that direction as well.

</comment></comment></comment><comment><USER5> This is a really good outline of the steps it takes to bootstrap a software development career. Succinct and useful.

"My initial plan wasn't to work as a developer indefinitely, but rather to stay on the tech side for at least two years and treat it as my own personal TFA-style program."

I had a similar plan when I first started but quickly realized that coding was exactly what I wanted to do - that I never wanted to go back to the marketing side.

I wrote an article like this one about my own story: [https://medium.com/a-programmers- tale/a3f7aa8d9bdf](https://medium.com/a-programmers-tale/a3f7aa8d9bdf)

<comment><USER6> I read the article, and am suitably impressed!:)

</comment></comment><comment><USER7> That was a great read, the clear thinking about needing to know "why" before "how" is very insightful.

I would be curious to hear any views on taking a purely javascript approach to this same process.

I ask because I love python but often think it may be silly to take the time to get really good at it.

Ever since node.js became a real option it has been possible to do full stack development using javascript. Why not take that approach, thereby only learning one language, reducing the number of new things you have to assimilate all at once?

<comment><AUTHOR> My thinking was that the documentation isn't nearly as strong for Node as it is for Django. And also JavaScript doesn't have all the same libraries for the backend. But certainly being good at JavaScript is very highly valued in the marketplace right now, so if you have other technical friends who can help you then this might make sense. But they might literally need to be willing to spend a couple dozen hours sitting next to you while you're learning Node, which isn't always trivial to set up. But in general I'd still recommend just learning Python, because I think the advantages of knowing you'll be successful outweigh whatever extra work there might be.

<comment><USER8> Woah, I followed pretty much the same roadmap as you, except I took the (Python-based) CS600 class at OpenMIT instead of Udacity's CS101. And my year was 2013. I really enjoyed Udacity's CS253 on web development, even if the particular technologies introduced in the course aren't very popular.

Since then, I've been switching gears from Python to JavaScript by learning Node and Angular. I don't view Python as a waste of time, because I think it is a great first language to learn particularly for CS fundamentals. Starting out, I may have been discouraged learning JavaScript as a first language. OOP isn't so straight-forward in JS, and there aren't as many learning resources for algorithms/CS-theory stuff in JS as there are in other languages. Also, learning server-side web development fundamentals with Node.js may have been a struggle, perhaps because there aren't as many resources devoted to beginners and docs as there are with Python/Django. Plus the asynchronous stuff. I'm struggling to learn AngularJS, although it's just straight up difficult I think.

I still need to figure out how to interview well. I have a decent GitHub/portfolio, so I'm generating a good number of interviews despite having 0 professional experience in the field and no CS degree (I have a math degree though). I've had about 20 technical phone screens/interviews not including take-home assignments, and I'm getting better at them. But I'm clearly not there yet, since nobody has offered me a job.

</comment></comment></comment><comment><USER9> An interesting retrospective. What would be interesting would be to know the challenges you've encountered once you started working as a developer. I have two questions though: I'm curious to know why you state that

"Ruby is probably the best platform to learn if you're a designer and you want to learn how to code to add value for your clients."

and also I'd love some more details on why "Python is fairly mediocre in a lot of ways" (not starting a language war here, I'm genuinely curious)

<comment><AUTHOR> In terms of Ruby, I'm saying that partly because of the omekase-nature of Rails, and also partly because Ruby doesn't have the same level of libraries for some of the tasks I mentioned. It seems like for all intents and purposes, the possibility space in terms of what you would want to use Ruby for is smaller, with the sweet spot being CRUD sites.

In terms of the downsides of Python: speed, lack of tail recursion and real threading, many libraries outdated, lack of some features of other modern languages, etc.

<comment><USER9> In terms of threading, Ruby and Python are in the same, sad, GIL boat. The speed issue is the same, but the C libraries alleviate this somewhat (Numpy, scikit-learn and lxml come to mind). Tail recursion is really needed when you have a functional language, and since Guido van Rossum, and therefore Python, has a bias against FP, the lack of TCO is not that glaring when you write pythonic code (which is kind of a circular argument, I know). When it comes to libraries, the old "batteries included" argument gets old, and the standard library shows its age, but it's usually addressed in external libraries... ...which brings me to my real gripe about Python, the ever changing way you're supposed to manage packages (use easy_install, wait, no use pip and virtualenv, wait you should take a look at wheels too, and so on).

</comment></comment></comment><comment><USER10> Thanks for posting this Alex. I really love hearing the others' tales of code enlightenment, and with yours being very similar to my own story, it's especially nice.

</comment><comment><USER11> I noticed at the bottom of the article it mentions that "Amazon affiliate links benefit Erowid". I think Erowid is a magnificent resource and I'm a big fan. What motivated your decision to support that site?

<comment><AUTHOR> The fact that drug use and misuse kills at least 1 in 4 Americans, if you count legal, illegal, and prescription drugs. Supposedly eating healthy and exercising are the most important things for health, but these are difficult because you need to do them every day. Whereas with drugs, if you just sit down and read 10 books on drugs, or at least 10 books worth of information, then you're pretty much set for life. So I generally think the ROI from investing in teaching people about drugs is probably easily higher than the ROI of any other health-related programs.

Also, they're the only non-profit I know of with an affiliate link generator. And it seems like a waste of an opportunity not to use affiliate links, but at the same time the trust of my readers is obviously worth hundreds of times more than the 12 bucks or whatever I'd earn from redirecting them to myself.

<comment><USER11> Thanks for your response. Your 1 in 4 figure seems plausible, but I'd be curious to see a source (perhaps it's in your mind map? I read that article of yours and immediately downloaded FreeMind; I'm looking forward to trying it out!). I agree that basic knowledge about drugs can go a long way in terms of harms reduction, like knowing why it's bad to take excessive prescription opioids that contain APAP.

<comment><AUTHOR> There are about 443,000 annual deaths from smoking.[1] This is about 1 in 5.

Plus another 35,700 deaths from alcohol and alcohol-related automobile accidents.[2] Plus another 7,600 from NSAIDS.[3] Plus another 27,500 from accidental overdose of prescription opioids or illicit drugs.[4] Plus another 8,400 overdoses ruled suicides or where intent was unknown. Plus another 106,000 from fatal adverse reactions to drugs given in hospitals.[5] That's roughly 26% of the 2.4 million annual U.S. deaths right there. (These numbers are from about ten years ago, so I'm using the death rate from about 10 years ago.)

These numbers don't count: deaths from the longterm consequences of prescription drug use, e.g. someone who takes Accutane and dies of liver failure 20 years later. Nor do they count someone who gets AIDS or hepatitis from drug use, someone who develops a mental illness from stimulant abuse, alcohol-related homicide, etc. Sources:

These numbers also don't include benzodiazepines, for which the excess mortality estimates range from almost zero to over 500,000 per year: [http://www.medicaldaily.com/sleeping-pills-linked- premature-...](http://www.medicaldaily.com/sleeping-pills-linked-premature- death-and-cancer-239855)

Sources:

[1] [http://www.cdc.gov/tobacco/data_statistics/fact_sheets/fast_...](http://www.cdc.gov/tobacco/data_statistics/fact_sheets/fast_facts/)

[2] [http://www.cdc.gov/nchs/data/nvsr/nvsr58/nvsr58_19.pdf](http://www.cdc.gov/nchs/data/nvsr/nvsr58/nvsr58_19.pdf) [http://www.nhtsa.gov/people/injury/research/alcoholhighway/2...](http://www.nhtsa.gov/people/injury/research/alcoholhighway/2__overview.htm)

[3] [http://www.annals.org/content/127/6/429.full.pdf](http://www.annals.org/content/127/6/429.full.pdf)

[4] Leonard J. Paulozzi, Richard H. Weisler, Ashwin A. Patkar. A National Epidemic of Unintentional Prescription Opioid Overdose Deaths. The Journal of Clinical Psychiatry, 2011.

[5] Lazarou J, Pomeranz B, Corey P. Incidence of adverse drug reactions in hospitalized patients. JAMA. 1998;279:1200-1205.

</comment></comment></comment></comment><comment><USER12> Any code examples? What did he build?</comment>


How Amino Is Defining a New Industry Standard for Healthcare Transparency - <AUTHOR> https://amino.com/blog/how-amino-is-defining-a-new-industry-standard-for-healthcare-transparency/ <comment><USER2> Looks great. Still not as sipmle as "priceline" for healthcare. Wish there was a market place just like that and providers operate like the Surgery center of Oklahoma. Similar to what pricepain.com did. Any effort in this arena deserves support.

</comment><comment><USER3> Series C @ 18 months? Is it just me or is that too much in too little time?</comment>


The screenplay of "The Social Network" - <AUTHOR> http://flash.sonypictures.com/video/movies/thesocialnetwork/awards/thesocialnetwork_screenplay.pdf <comment><USER2> This was actually leaked quite a while before the movie was released, although I'm not sure how exactly the original leak matches this officially released version.

[http://wiscreenwritersforum.org/wp- content/uploads/2010/01/S...](http://wiscreenwritersforum.org/wp- content/uploads/2010/01/Social-Network-The-by-Aaron-Sorkin-May-28-2009.pdf)

Side note: Sorkin is an absolute legend, in my view the best film and TV writer there is right now.

</comment><comment><USER3> Thanks for this! I loved the writing for this movie.</comment>


Stream PS4 games to your PC or Mac with next system update - <AUTHOR> http://arstechnica.com/gaming/2016/03/stream-ps4-games-to-your-pc-or-mac-with-next-system-update/ <comment><USER2> Wow! That's just awesome.</comment>


U.S. lawsuit against founder of Facebook's Oculus can proceed, judge says - <AUTHOR> http://www.reuters.com/article/us-facebook-oculus-rift-ruling-idUSKCN0UX2IK?feedType=RSS&feedName=technologyNews <comment><USER2> This is why you should not sign NDAs if you can avoid them. They are essentially an open invitation to be sued at a later date.

That being said, it's a sad state of affairs that this suit is allowed to stand against Oculus itself. If an individual breached a civil contract, he should answer for it and possibly lose all the money (and stock) he owns to pay for the damages.

</comment><comment><USER3> The actual article: [http://www.reuters.com/article/us-facebook-oculus-rift- rulin...](http://www.reuters.com/article/us-facebook-oculus-rift-ruling- idUSKCN0UX2IK).

</comment><comment><USER4> Url changed from [http://www.gamasutra.com/view/news/263877/Oculus_founder_Pal...](http://www.gamasutra.com/view/news/263877/Oculus_founder_Palmer_Luckey_will_be_sued_for_breach_of_contract.php), which points to this.

Submitters: please submit original sources where possible, as the HN guidelines ask: [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)</comment>


Racist, Sexist maintainer should be removed from project - <AUTHOR> https://github.com/ContributorCovenant/contributor_covenant/issues/602 <comment><USER2> It's sad that this is seen by many as a "progressive" and "healthy" perspective. On social media, I fear that most people who disagree with this perspective will not openly disagree with it because they do not have the mental energy at the end of the day to defend themselves against the ad hominem attacks that will follow. When did it become politically acceptable to openly shame a group based on the way they were born? If it were said about any other group besides "cis white males" it would be considered hate speech. Why is this tolerated?

<comment><AUTHOR> It's a really sad state of affairs.

There's clearly hatred being directed at a certain gender and race, but that seems to be fine since "they are the oppressors".

</comment></comment><comment><USER3> I am perhaps a vocal minority, but I feel that the work a person does can be positive, even if we violently disagree with them personally. Noone should lose their job for personal views, no matter how abhorrant. If the person has comitted a crime, there is clear recourse.

Change my mind.</comment>


Bootstrapping a $30k profit/month company from our undergrad internship earnings - <AUTHOR> http://blog.fiplab.com/bootstrapping-a-company-straight-out-of-unive

<comment><USER2> The most interesting part to me was that they are designers who considered the programming to be the most important part. As a programmer, I find the design to be the most important part.

The perspectives are very interesting.

From a programming standpoint, I can pound out the code to just about anything, but when it comes time to create the awesome graphics for the game, well, that's where I either have to cut corners or pay a lot of money.

I liked the cliff-hanger he left us with too. Day 4: Disaster! And that it was Apple's fault ...

But what happened? Did the glitch get fixed? Did sales pick back up? Where's his Twitter feed so I can see when the next post comes out?

<comment><USER3> >> they are designers who considered the programming

I got the impression that they are bankers from the post, where do they say they are designers?

<comment><USER2> You are right, I read that they finished the graphics first but read right over the part where they hired someone.

So, also interestingly, they found the process of having graphics designed easier than finding programmers. I've found it very difficult to find a good designer-for-hire when it comes to games.

</comment></comment></comment><comment><USER4> Interesting post, but I'm not a fan of these multi-part blog posts, I rarely end up seeing the 'Part II' post that I really wanted to read about in the first place.

Why not just write the whole story in one post?

<comment><AUTHOR> Thanks Scott. It's a very long story about how we got FIPLAB to the stage it is at today. There is so much advice we want to give and it would just be information overload if we tried to fit it into one post.

I'll write up Part 2 over the weekend, which is going to be a lot more interesting, covering how we got mainstream media coverage for our 2nd app (London Cycle: Maps & Routes), including a large front page banner feature on the iTunes App Store itself.

The really good stuff is still to come, but we had to start at the beginning to add context to everything else.

<comment><USER5> Well, don't forget to let us know when the full article is out. I'll happily post it up on swombat.com - it's a great story - but I have to say I'm not too fond of the multi-part post format either.

<comment><AUTHOR> that's awesome, thanks - will hit you up once all the 'parts' are out.

</comment></comment></comment></comment><comment><USER6> If two incredibly talented Indians can't find a way to outsource their development to India, I doubt any small team can. I've also had good luck with finding top programming talent in Germany. Great job, guys!

<comment><USER7> I think it's hit and miss like everything else, but maybe a little more 'miss' in this case. I just spent 5 months in India working on my startup. I'm not Indian, but I absolutely loved it. New York is a bore compared to the sensory overload of most Indian cities. I hit the railroad for 2 weeks and circumnavigated the country. Used a GSM dongle to work from my train berth. There was some 3G, but mostly slow going up in the Northern states (lots of time to write code). Can't wait to go back.

</comment></comment><comment><USER8> I'm skeptical of the 30k profit/month title. I think it's just linkbait to promote their game. If you look at their app ranking history (registration needed):

[http://www.appannie.com/copterkid/ranking/history/#start_dat...](http://www.appannie.com/copterkid/ranking/history/#start_date=2009-07-26&end_date=2011-09-01)

they are nowhere to be found in the overall rankings, and even their rankings in the games category tops out at 700ish. Plus, they only sell the game for 99c. I've had apps that sell for 2.99 that are in the top 200 overall paid list on iphone, and I've never come close to 30K/month for a single app.

My most recent sales data (for an app that has gone as high as #97 on the iPhone top paid list) indicates that the #200 top paid app on iphone gets about 300 sales per day. If you factor in Apple's 30% thats about $210/day. So even if their app was in the top 200 (which they were never even close to), it would only generate $6300/mo in revenue at 99c.

It just doesn't add up. Unless the 30K/month is talking about a completely different app?

<comment><USER2> There are so many more factors than just rank alone. Such as competition, search results, web exposure, sales, and more. They also have a lot of those "talking" apps that people with kids gobble up at one point or another once they have a smartphone.

He didn't explicitly mention that CopterKid did very well, but I'm sure he's wise enough not to give away where he's directly seeing his successes because who needs MORE competition?

<comment><USER8> rank is a direct measurement of total downloads, so it's straightforward to extrapolate.

<comment><USER2> Is it? there are no other factors?

</comment></comment></comment></comment><comment><USER9> I don't find this as interesting as an app or website that makes money while you sleep. In fact, I don't even consider it bootstrapping. By this metric, I "bootstrapped" a similar business myself, along with every other freelancer out there.

<comment><AUTHOR> Our apps do make money whilst we sleep. bootstrapping is using your own money to start a business and reinvesting the revenues to fuel growth - that's exactly what we are doing.

<comment><USER9> My bad, I thought you were just a software development shop.

</comment></comment></comment><comment><USER10> Nothing worth doing is easy - inspirational stories like your's always seem to involve near crash-and-burn dips (whether that part of the story actually gets told, or not).

Here's to not giving up - keep up the great work guys!

</comment><comment><USER11> Was CopterKid your first app? You talk about building a following of 1000 FIPLAB fans before CopterKid's launch. How did you engage them if that was the first app?

<comment><AUTHOR> Yes, it was our first app. We engaged them by involving them in design decisions, naming the characters, selecting the various islands (country side, city, desert, snow), picking the app icon from a selection of 3 choices etc...

</comment></comment><comment><USER12> No name-drop for the German?

<comment><USER13> My guess is James Long.

If you look at their "About Us" page it names who they have worked with.

<http://www.fiplab.com/aboutus/>

<comment><AUTHOR> It's not James Long, but you'll learn about James later (he's American and played an instrumental part in the early days of our business). The german CS graduate was a guy called Mike Weller - who afaik decided to live a less stressful life with his girlfriend at an organic farm.

<comment><USER14> He seems to still be doing iOS stuff, and is active on stackoverflow.</comment></comment></comment></comment>


The Story of Firefox OS - <AUTHOR> https://medium.com/@bfrancis/the-story-of-firefox-os-cb5bf796e8fb <comment><USER2> I think this slightly understates the "business development" problems with developing a new OS, and a mobile OS in particular. It turns out that there are certain apps that, if they are not available on your platform, are immediate deal breakers for huge numbers of consumers (to the extent that they will ask for them by name in stores and return devices that won't run them). Often these apps lack web frontends (for non-technical reasons).

Obviously there are technical workarounds that you can attempt but consumers are wary of "knock off" products. So there is a vicious cycle in which people won't produce the content that you need to get users until you already have users. Possibly one can break this by supporting Android apps, but you would have to make the experience as good as an actual android device, which seems both demanding and limiting (because of cross-app interactions via e.g. intents).

<comment><USER3> WhatsApp was the big missing app for Firefox OS. In Mozilla's target markets, WhatsApp was _huge_ but the company didn't want to invest any engineering resources to support Firefox OS, understandably. Firefox OS was an unproven OS with no market share and no J2ME support.

In response, Mozilla Research started a "j2me.js" project to try running the WhatsApp J2ME app in JavaScript, sharing some code with the Shumway project to run Flash content. If that worked well enough, maybe WhatsApp would become interested. It did actually kinda work, but the project did not proceed for a number of reasons. Also, j2me.js was renamed "PluotSorbet", due to trademark concerns:

[https://github.com/mozilla/pluotsorbet](https://github.com/mozilla/pluotsorbet)

<comment><USER4> As best i understand, Whatsapp's support for anything but iOS is "poor" to put it nicely.

<comment><USER5> Works really well on my Android.

<comment><USER6> Same here!

</comment></comment></comment></comment></comment><comment><USER7> > [biggest Achievements] Product — Successfully launched 20 devices in over 30 > countries, mobilised the Mozilla community to help run launch parties and > created slick branding and marketing campaigns

Therein lies the rub. The products were all mediocre-specced handsets from little known manufacturers. So, right from the outset Firefox OS felt like a down-market 'landfill Android' type product.

I'd have bought a Firefox OS phone in a heartbeat, if it felt like an upgrade [or even a sidegrade] from my existing phone. But the specs for the most top of the range model available were actually worse than those of my existing 3+ year old Android model.

Sadly, this 'pursuit of mediocrity' sees a lot of OSS projects shoot themselves in the foot.

<comment><USER8> You do have to understand that they also had no realistic chance of pursuing a top-tier device in a top-tier country. HTML-based UI:s (rendered on gecko) just aren't there in terms of performance.

Which leads to the question... why the heck did they pursue this in the first place? I would point at Mozilla management incompetency (Mitchell Baker etc).

My thoughts: They didn't do any technical/performance feasibility study before embarking on this adventure; rather relied on vaguer terms these people are atuned to (equality, openness, freedom, etc) rather than hard technical facts.

<comment><USER9> > HTML-based UI:s (rendered on gecko) just aren't there in terms of > performance

I'm actually going to quibble with this. Having ran Firefox OS 2.1 on the original (crappy hardware) Flame, all of the main UI and built-in apps were buttery smooth. I wasn't expecting this, and it kind of blew me away.

<comment><USER8> I never got my grubby hands on a Firefox OS device. All of the reviews I read were unanimous in their dislike (because of framerate issue, primarily) though. What happened here?

<comment><USER9> New software. The version of FXOS that came with the Flame (1.0) was... not good at all. 1.1 and 1.2 added some niceties that started to make it usable as a daily driver phone; 1.3 added async pan and made things feel slick; and 2.0+ were just lovely.

<comment><USER8> So.. the best of the best kind of browser people at Mozilla optimized the HTML/JS/CSS and reached their target after a while.

This makes sense with my experience from Opera Software (who also tried to build a browser OS, but way back in 2003-2004 and quickly retreated after it failed):

The main issue here is that writing a performant HTML-based UI is a very complex thing. It works great when people who really understand the entire web platform writes the software, but breaks down when regular web devs are supposed to write "HTML apps" for it.

Meanwhile, the usual mindless singsong around HTML UIs is amongst the lines of "now 10 (or is it 20 now?) web developers can write mobile UI:s; they don't need to learn native Android or iOS development."

My main point here is that the HTML way is a lie. It's easy to make something that looks good; and it's insanely hard to make it perform well.

<comment><USER9> I mean, not to be flippant, but... that's just like your opinion.

Of course not _anybody_ can make a well-performing web app, just like not just anybody can make a well performing Android app. In some ways, yes, it is a little more difficult.

But speaking as a C programmer who was pleasantly surprised by the change, it's not that difficult to make a performant web app. I've never had a problem with it.

<comment><USER10>
        Of course not *anybody* can make a well-performing web app, just like not
        just anybody can make a well peforming Android app.

Now that's a false equivalence if I've ever heard one. Making a well- performing mobile website that does more than display text is really difficult. The tools one uses to build and test websites are all geared towards desktop development. Only recently have we begun to see browser vendors adding support to their dev consoles for mobile devices, and those tools still aren't nearly as extensive as the tools one uses for native app development.

Moreover, both iOS and Android have pretty decent documentation around how to use their APIs and what one needs to do to make an app that responds to user input nearly instantly. For the web... well, to call Javascript performance tuning folklore does a disservice to folklore. It's more like rumor and witchcraft.

        Speaking as a C programmer who was pleasantly surprised by the change

Well, that sort of explains it, I guess. You moved from one platform with crappy tooling to a platform with ever so slightly less crappy tooling. Of course things look like an improvement to you. Meanwhile, to programmers coming in from Java, .Net, or other, more "corporate" languages, the lack of tool support for Javascript makes it really difficult to write good apps in a reasonable amount of time.

Now you might just say, "Well those guys are just shitty programmers." Fine. I agree with you. But somehow, Android and iOS allow even shitty programmers to write functional workaday mobile applications. HTML and Javascript do not (at least, not on mobile). So by that standard, HTML/JS is an objectively worse platform.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> I still see no reason why they couldn't reboot the project and agree with his thinking here: " _Create a mid-range tablet ... Carve out a niche in developed markets first ... Firefox OS was actually five years too early!_ "

I always thought they were trying to put a ChromeOS competitor on a phone when it actually belonged on laptops, tablets and 2-in-1s (to start). I would have been very interested in a device running an extension-rich privacy-respecting browser, using open tech, focused on education and as a device to develop for.

It's essentially Mozilla's mission statement made into physical form. Dealing with corporate interests, as the article suggests, forced Mozilla to diverge from their base (end-users). It was a learning experience, that was all.

I don't actually expect the project to be revived and that's a real shame given the hostility of the alternatives (not including Linux, etal) available to (the rest of) us.

<comment><USER12> I'd argue the same thinking could have been applied--perhaps moreso--to Palm/HP's webOS, which was thrusting in the same direction as mid-range tablet OS with the Touchpad, and into a desktop-capable OS (demonstrated in early state) before its EOL.

Plenty of parallels between the two OSes, down to some of the personnel who bailed to Firefox OS from HP.

<comment><USER13> When I first heard about Firefox OS my first reaction was one of frustration, as I believe at the time WebOS had just been open sourced.

It seemed like a giant duplication of effort towards similar aims.

</comment></comment></comment><comment><USER4> At the end of the day the web is interpreted, and developed on desktop computers.

This result in two problems when doing web first on mobile.

1: bloated frameworks. Both in term of CPU usage, memory consumption, and the number of round trips needed to show something like a simple list of links.

2: "mobile" sites that may look right at first glance but that invariably show themselves to have elements that hint at having been designed on a large screen computer with a mouse attached.

But what sank FFOS was its availability. Its concept fitted perfectly into the SV mindset and the ongoing "maker" thinking.

But they were launched and sold to the "third" world as spruced up featurephones.

<comment><USER14> > bloated frameworks. Both in term of CPU usage, memory consumption, and the > number of round trips needed to show something like a simple list of links.

You combine this with the fact they were targeting the low-end, entry level marketspace. and you have a recipe for failure. At a time when even low-end Android phones had finally overcome their sluggishness, the first Firefox OS device that I tried felt slow and unresponsive.

</comment></comment><comment><USER15> The post doesn't say anything about ongoing community development, I guess because there is basically none? Maybe I'm not looking in the right places, but I see very little activity in [https://github.com/mozilla-b2g](https://github.com/mozilla-b2g) or [https://discourse.mozilla-community.org/c/b2g-os- participati...](https://discourse.mozilla-community.org/c/b2g-os- participation) or [https://lists.mozilla.org/listinfo/dev- fxos](https://lists.mozilla.org/listinfo/dev-fxos) ... am I looking in the wrong places?

I'm sad FxOS didn't carry on and really appreciate the writeup!

</comment><comment><USER16> Unfortunately for Mozilla, the reality is that Google, with its combination of large marketshare, aggressive timelines, and wide platform penetration (on both their own first-party and others' third-party platforms) had accomplished more in enhancing the capabilities of code loaded by the Web: they develop all sorts of APIs to expose native platform functionality inside Javascript running inside the browser, ship them in Chrome, then submit most of them to W3C and evangelize their merits. The most trashy ones they deprecate in two or three years, replace it with a different, incompatible take, and remove support for it in a few versions.

The author's 'Lessons Learned' section reads as a wishful vision of web browsers themselves, which, is both surprising in its lack of differentiation, and yet simultaneously ambitious in its hopes of being able to culture a... what's the word? 'platform'? 'ecosystem'? 'environment'? where well-executed server-side technologies interact with thin but slick clients; how is this different from the existing web and its browsers again? Does the point then become to offer a FOSS low-level system OS on top of which a browser can run? Isn't this one of the few successes of B2G, yet also operates in a space entirely dependent on the whims of hardware vendors, and competes with the likes of Tizen, Sailfish OS, AOSP, and the Linux kernel itself?

The retrospective is interesting: a dissenting opinion from an inside source, and it definitely sheds light on some important details that were glossed over or ommitted from the more 'political', corporate communiqués. But the conclusions are unsatisfactory: the preferred outcome reads less like "Boot to Gecko" than "Boot Only to Gecko", which sounds a lot like Chromebooks. The difference being, of course, that Google has a diverse (if frequently culled) selection of web-accessible services that together can be used as a computing and browsing platform, feeding search and browsing metadata and usage habits to Google thanks to the power of defaults. What could Mozilla have offered in this space to realistically take on the exact same frenemy with a larger warchest?

</comment><comment><USER17> I don't understand why they decided that Firefox OS would be a good fit for low-end hardware, when they had empirical evidence of how poorly webOS performed.

Firefox OS and webOS are essentially the same concept. Palm built theirs for 2009 top-end hardware, and it turned out that the hardware just wasn't quite enough to run a browser engine for the entire UI... And then Mozilla goes ahead and tries to do the same thing on low-end hardware that was worse than the Palm Pre.

What was the rationale here? I can only imagine this choice was imposed by the hardware partners they could round up. If so, it's a classic example of how engineering and business development manage to undermine each other to destroy a product.

<comment><USER18> > I can only imagine this choice was imposed by the hardware partners they > could round up.

What do you mean? Seems like this was fundamentally Mozilla imposing their philosophy/faith in their web technology/platform on hardware partners rather than the other way around? (And I believe the article supports that interpretation).

<comment><USER17> I meant the choice of low-end hardware. I feel like they could have been more successful in the ~$200 market where Nokia Lumia models did well for a while, but presumably the hardware partners didn't want to build those. And meanwhile engineering was set on a path that wouldn't work for $40 phones.

</comment></comment></comment><comment><USER19> > What I Would Do Differently Today ... Product — Not try to create the > cheapest smartphone.

But, then who will? Firefox OS allowed you to run a full HTML5 browser on a phone with half the specs of Android[1]. They sold a phone for $33 that was (and still is) the cheapest thing to run Youtube and Wikipedia! The only huge technological advantage Firefox OS had was the fact that Boot-to-Gecko didn't have the overhead of a middle layer virtual machine (like android). That's a HUGE deal if you are resource constrained, which means you can offer a ton more features for the same price on cheap smartphones.

And who uses cheap phones? The developing world, who more than anyone need access to modern information. Firefox OS shouldn't have seen itself as competing with Android. It should have seen itself as competing with flip phones. The amount of societal good Mozilla could have done by focusing on being a cheap "next-step" flip phone alternative is astounding. Here's a comment I wrote several years back when the $33 phone came out:

\</comment><comment>---

I've been a huge fan of Firefox OS for a long time[1], but here's something I think many people here aren't realizing: Firefox OS considerably lowers the barriers to entry for app developers.

Firefox OS apps are just html pages in a zip file, so all you need to create one is a text editor and a browser. In fact, Firefox will soon include an IDE[2], so you don't even need a text editor anymore. I think that will have a massive impact on how many developers will make apps for Firefox OS, especially local developing world apps.

If you only have non-administrator access to a computer in an internet cafe or some other shared computer, you can probably still develop Firefox OS apps since it may already have Firefox installed. Additionally, there's millions of tutorials online about web development, many of which are very beginner friendly and in multiple languages.

This extremely low barrier to entry will allow local communities to easily make apps that cater to just their local needs. Want to know where the best location to get water is? Want to know which farms in the area are hiring? Want to see the local mayor's latest scandalous photo? These all can be coded in a weekend at the local internet cafe.

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

[2] - [https://developer.mozilla.org/en- US/docs/Tools/WebIDE](https://developer.mozilla.org/en-US/docs/Tools/WebIDE)

<comment><USER20> > Want to know where the best location to get water is? Want to know which > farms in the area are hiring? Want to see the local mayor's latest > scandalous photo? These all can be coded in a weekend at the local internet > cafe.

These could also just be implemented as web ... sites.

<comment><USER19> But, how do people in your village visit that website? Few have full-featured browsers.

Also, making a zip file that people can pass around and install locally means you don't need to host it anywhere or have internet access to use it.

Firefox OS was perfect for developers who had more time than money.

<comment><USER20> Ehm ... Firefox OS has a full featured browser. And nearly every platform where web apps would work. Or do you mean few have internet access?

<comment><USER19> Few have cheap internet access (just texts, calls, and small amounts of data), so you shouldn't assume your audience has easy access to it in local villages.

> And nearly every platform where web apps would work.

What platforms? Android is too expensive. Feature/flip phones don't run web apps.

So, yes, my point was that FirefoxOS was the only platform that had the potential to offer widespread web app access to this audience. Also, since FirefoxOS web apps could be zip files, they didn't necessarily have to have internet access to run and could be passed around via sneakernet.

</comment></comment></comment></comment></comment><comment><USER21> So much of the story and motivation around FirefoxOS seemed to be: "we want to take web browser technology and build a smartphone around it."

Or interpreted another way: "Our agenda is to take technology X and apply it to a problem domain that would not seem like a natural fit for it."

Meanwhile their competitors were trying to out-do each other in trying to produce devices that would satisfy consumers the most (sell more). It was, and remains, a ferocious competition.

If you want success in the marketplace you need to focus on delivering customer value first, and put the technology agenda second (if not way behind other priorities).

</comment><comment><USER22> >My main hope in documenting all of this is that Firefox OS is remembered as more than just a footnote in tech history which says "a failed mobile OS from Mozilla".

I got one of the Mozilla Flame phones back when they came out and loved that device. I'm pissed that now the only option for a viable open source mobile OS I have is Google. But unless there is some unlikely comeback, that is exactly what it will be remembered as.

I disagree with some of the details of what they should have done better. But I do agree that it was too early to end the project and that it definitely had great potential in becomming a niche at least, from which it could grow.

<comment><USER23> > I'm pissed that now the only option for a viable open source mobile OS I > have is Google.

[https://www.ubuntu.com/mobile](https://www.ubuntu.com/mobile)

<comment><USER24> Viable.

<comment><USER25> Well, then you're mourning for that which never existed.

</comment></comment></comment></comment><comment><USER20> They should have forked AOSP instead and included F-Droid and Firefox by default. Maybe tweaked some things, like replacing WebView with a Gecko solution, adding first-class Web app support, etc.

<comment><USER26> First class unsigned code in unsafe language support on a physical device seems to be a bit of a worrisome idea.

<comment><USER20> Web apps would also have to get permissions like native apps.

But you're right that some permissions like complete file access might be a bit too much. They could implement it so that only signed Web apps installed through the app store would get such permissions.

<comment><USER26> The problem is not only permissions. The problem is that code execution model within anything a mile close to web and browsers is a security threat by itself.

</comment></comment></comment></comment><comment><USER27> A heavy fork of Android by Mozilla might be a better solution..

<comment><USER8> Yeah, sort of like that would have been a better for another once dominant company that couldn't handle the UX/performance: Nokia

<comment><USER28> Take Elop out of the picture and they did just fine. He did everything he could to destroy Meego.

They launched the n9 without marketing and only made it available in secondary markets, but people still beat down a path to get them. Elop also refused to provide sales numbers (instead writing the infamous "burning platform" email), but third party guesstimates are in the 4-8M (for comparison, the subsidized, heavily marketed, easily available S3 sold around 40M units in the same year).

Elop even refused to launch the n950 (aluminum n9 with a great physical keyboard) despite it being ready to go (they shipped around 5K as developer units).

Nokia had the answer. Elop was paid 25 Million to killed it.

</comment></comment></comment><comment><USER29> I would agree that the timing of FirefoxOS is too early rather than too late.

Another infuriating thing is that they decided to focus the FirefoxOS on the cheapest smartphone. You have to remember the one who buy these cheap phones, of course they will be concern about their ISP price too. In the end it would be better for them just to buy a feature phones. Eventhough Firefox OS can work offline, most of the advantage of FirefoxOS is on the web interaction. They really should target urban customer

</comment><comment><USER30> _As mobile hardware becomes more commoditised it would be trivial today to find white label hardware on which to run our software. There's also a real desire from OEMs to loosen their dependence on Google and differentiate themselves._

Is there a Moore's Law for every type of physical constraint? As with cheaper and more abundant microprocessors, broadband, storage, etc., it seems like previously unfeasible produces and services become unlocked, the business ideas now feasible. FFOS did not arrive at the right time to reap in the benefits of the rise of Chinese smartphone OEMs, and the growing push-pull between Google and OEMs over Android.

</comment><comment><USER31> > Qualcomm, the first chipset manufacturer we were working with, would not > license their firmware and device drivers to us directly, it had to be > through a carrier or OEM. This meant that we _legally_ couldn't ship > complete builds

What? Why are chipset manufacturers not permitted to sell to anybody?

</comment><comment><USER32> I bought a Panasonic TV because it was said to have the best UI. It used Firefox OS. The UI was OK - I have nothing to compare it to since I didn't have a TV for 10 years. Anyway, they stopped Firefox OS development soon after. I wonder if I can install another OS?

<comment><USER33> The problem with "smart" TVs...

</comment></comment><comment><USER34> I would love to purchase a good quality phone with Firefox OS. The project seems a perfect fit for our time built around web technologies.

Hopefully someone can pick up this project.

<comment><USER35> I always wondered why they target the low end of the market. There are so many compromises and constraints that the only redeeming feature ends up being the price.

Why not try to make the _best_ phone?

</comment></comment><comment><USER36> Thanks for sharing, that was an incredible story. I still have warm feelings for the idea that the open map might -will- still win this.

</comment><comment><USER37> Was the Gaia email app any good? Implementing an offline-capable email client in JS must have been a big undertaking in itself.

<comment><USER38> Yep, it was pretty decent. It did IMAP, I could read/write messages, attach files and it didn't crash. The UI was fine.

(I used a Firefox OS phone as my only mobile device for 2 years)

</comment></comment><comment> gingerbread-man The new web APIs developed as part of Firefox OS seem to be growing. Bluetooth connectivity via webapps has a lot of potiental.

<comment><USER26> In some fields, incremental enhancement isn't enough, and that, I believe, is what killed Firefox phones. They've shown that their excellent engineering allows to run better code on cheaper spec - but people still buy phones for numbers in specs, not performance.

</comment></comment><comment><USER39> thanks for sharing this. It was nice to see this week with the lumia launch, how many people want a low-stress mobile phone, that doesn't beep, and doesn't track your every move. b2g could have been amazing to a mobile industry that feels shallower each quarter.</comment>


The"Women in Tech" movement is full of victim blaming bullshit - <AUTHOR> https://medium.com/life-tips/the-women-in-tech-movement-is-victim-blaming-bullshit-1861e6fffedf#.7uy3g6q76 <comment><USER2> > _Conference and panel organizers who "can't find" diverse panel members > should be fired. Point blank._

Based on what, not meeting some percent quota? The statistics for demonstrating a bias is rather delicate. The simple fact that 12 out of 13 panel members happen to be male doesn't confirm a selection bias.

PG proposed a way to detect it: [http://paulgraham.com/bias.html](http://paulgraham.com/bias.html)

Prior discussion: [https://news.ycombinator.com/item?id=10483751](https://news.ycombinator.com/item?id=10483751)

<comment><AUTHOR> Also, I think that it is important to note that diversity has it's own value. It doesn't generally get factored into the equation of who is going to be a good speaker, but it should.

</comment></comment><comment><USER3> Why limit your goals to the trappings of power? Speaking at conferences and easier access to venture capital strikes me as setting your sights low.

Furthermore, if you don't aim to be taken as seriously as anyone else even when you don't get speaking engagements and venture capital, you'll find that obtaining access them is an hollow victory.

<comment><AUTHOR> Access to capital and influence are not the "trappings of power", they are the definition of power in the industry. Both capital and influence are drivers to getting shit done.

<comment><USER3> Now you're talking about capital and influence. But they're not interchangeable with talking at conferences and better access to a VC's ear.

In tech, talking at a conference is meaningful in a way that it isn't in a lot of other industries. I'm not saying tech conferences are set to turn bland and contentless any time soon, but there is nothing inherently influential about them. They're just a trapping of influence that _could_ change with the winds.

VC is fetish. Venture funding is nether necessary nor sufficient to having capital. Taking VC means a founder limits the amount they can make off of a successful company and also ties that company to an unrealistic trajectory reducing their chances of profitability. Finally, the founder doesn't actually control the capital. They have temporary authority over someone else's, to be used only for a specific purpose.</comment></comment></comment>


What is the best book/resource for CSS? (more than the basics) - <AUTHOR>

<comment><USER2> O'Reilly's CSS Cookbook is a pretty good book. Again, that's the only CSS book I have, so I don't know how it compares to others. However, this book was recommended to me by almost every person. I'm not sure if the book contains the advanced CSS programming you desire.

Email me if you want it.

<comment><USER3> Love to, but your email isn't on your profile. Perhaps leave your email here, our you can email me your email?

</comment></comment><comment><USER4> Why don't you try this website <http://www.cssplay.co.uk/> they're usually doing the most cutting edge of experiments in CSS.

</comment><comment><AUTHOR> I am looking for something like the quality equivalent of Agile Web Development with Rails, but for CSS.</comment>


Show HN: A tutorial on reading circuits in Visual 6502 - <AUTHOR> http://wiki.nesdev.com/w/index.php/Visual_circuit_tutorial

<comment><AUTHOR> Note that it uses examples from the APU (audio circuitry) and PPU (graphics processor) in the NES. This is probably a good thing, as those circuits are much less dense and so easier to read directly compared to the 6502 circuitry. The particular examples aren't hugely important, and the principles are exactly the same.

Skimming it might give a glimpse of what's going on inside old chips (and newer ones too to some degree, though CMOS is more complicated than NMOS), which I thought some people might find interesting. :)

I wrote this a few years ago, and I can see a few things that could be clarified now. Feel free to ask questions.

<comment><USER2> > Skimming it might give a glimpse of what's going on inside old chips (and > newer ones too to some degree, though CMOS is more complicated than NMOS)

What makes CMOS more complicated here?

<comment><AUTHOR> (Disclaimer: I've never actually tried to read CMOS circuits, and I'm still far from an analog electronics expert. The tutorial itself has been vetted by people who worked on the simulators though -- thanks to Lidnariq, Quietust, and BigEd!)

The basic logic elements tend to be more involved in CMOS, which makes use of symmetrical pairs of transistors with different doping. (Roughly, the doping determines whether a high or a low voltage "closes" the transistor.) Compare the implementation of a NOT gate for NMOS and CMOS here for example (where 'a' is the input): [http://en.wikipedia.org/wiki/Inverter_%28logic_gate%29](http://en.wikipedia.org/wiki/Inverter_%28logic_gate%29).

To get an idea of one problem with NMOS that CMOS solves, consider the inverter example when the input is high. In that case, you get a continuous current from the power source to ground, meaning you're drawing power (and generating heat) even in the steady (static) state. CMOS on the other hand is designed to only draw power while the circuit is switching. Studying the circuit on the wiki article might give some rough idea of how that works.</comment></comment></comment>


Nazi nuclear bunker discovered in Austria by filmmaker - <AUTHOR> http://www.independent.co.uk/news/world/europe/secret-nazi-nuclear-bunker-discovered-in-austria-9948647.html

<comment><USER2> "Police stopped excavations last week as the team did not have a permit to work on historical sites, but Mr Sulzer is confident that the dig can be restarted soon."

That's not a dig, that's essentially grave robbing for profit.

Just because you have a camera doesn't mean you get to do whatever you want. For a historical site of this importance there is ABSOLUTELY no excuse for the filmmaker not to work with the proper channels. Especially since it may have extremely hazardous materials.

I know "hackers" like to think proper channels and procedures are just some sort of bureaucratic trap to stop people from doing cool stuff, but this is endangering peoples lives, irrecoverably destroying the archaeological record, and just plainly in bad taste to make a crappy "reality-show-like history" film.

</comment><comment><USER3> What exactly would be a Nazi relic?</comment>


How to find good (academic) problems - <AUTHOR> http://compgeom.cs.uiuc.edu/~jeffe/teaching/comptop/projects.html

<comment><AUTHOR> The interesting part is under the heading: "Hey, wait! How do we find good problems?" on the page</comment>


Australia Is Trying to Pass a Law That Could Kill DApps - <AUTHOR> https://www.forbes.com/sites/lukefitzpatrick/2018/10/07/australia-is-trying-to-pass-a-law-that-could-kill-dapps/ <comment><USER2> _tl;dr: The 'Assistance and Access' bill proposes three new powers for the Australian government.

1\. The ability to make a voluntary request for assistance from a company to get information.

2\. To be able to demand assistance from a company in getting information.

3\. To build new 'backdoor features' into the technology, which compromises user encryption._

Narrowing the focus of implications of this to DApps seems, err, strange..</comment>


CENTCOM social media accounts apparently hacked by Islamic State sympathizers - <AUTHOR> http://www.washingtonpost.com/news/checkpoint/wp/2015/01/12/centcom-twitter-account-apparently-hacked-by-islamic-state-sympathizers/ Just realized this is a dupe (already). Sorry. <comment><USER2> Frustrating media coverage on this. This is being angled as a breach in the US defense network in my country. I imagine Pentagon will love the additional funding this will cause.

<comment><USER3> They did manage to get a hold of data though, not just '#twitter'. They had docs for download up on pastebin (/Y2spP7y9) that contained rosters, budget powerpoints, and other briefings:</comment></comment>