Native Javascript alternatives to jQuery methods - <AUTHOR> https://github.com/nefe/You-Dont-Need-jQuery <comment><USER2> As the maintainer of cash [0] I wouldn't recommend using these functions for almost anything, they aren't really alternatives for jQuery as they provide a very different API, just to give one example the proposed alternative for `$.fn.css`:

\- Doesn't automatically camel-case the property name.

\- Doesn't automatically vendor-prefix properties if needed.

\- Doesn't support getting/setting CSS variables.

\- Doesn't automatically add the `px` suffix to numeric values when appropriate.

\- Doesn't fail gracefully when dealing with non-element nodes (`node.nodeType !== 1`).

IMHO there are too many details that you now have to think about when using such "native alternatives" that's not worth it. From my very unbiased opinion I think it makes more sense to just use cash, which only needs ~5kb when minified and gzipped, and can be even partially compiled to remove the stuff you don't need.

[0] [https://github.com/kenwheeler/cash](https://github.com/kenwheeler/cash)

<comment><USER3> > From my very biased opinion

Fixed that for you. There are better ways to integrate with the DOM than jQuery nowadays. It's not a good fit unless you're just trying to tack on a dropdown menu onto a decade old Wordpress theme, IMO.

<comment> yoz-y I'd say it's the opposite. These no-jQuery methods are good if you are "just trying to tack on a dropdown menu onto a decade old Wordpress theme", however if you want to manipulate DOM in a more complex manner and do not wish to pull in an entire frontend rendering library, then jQuery is perfectly fine.

You will have/want to factorise these methods anyways because some of them are just ridiculously long. jQuery has already done that and at least it is very consistent.

</comment></comment></comment><comment><USER4> Yep and that 2.1 CSS Get style example is EXACTLY why I use jQuery

[https://github.com/nefe/You-Dont-Need- jQuery#2.1](https://github.com/nefe/You-Dont-Need-jQuery#2.1)

I don't want to have to figure out that there is a "known bug and will return 'auto' if style value is 'auto'". jQuery takes care of that crap for me.

Say what you want about jQuery, but it just works.

<comment><USER5> Plus it looks cleaner and easier to extend in the future.

</comment></comment><comment><USER6> I always find it funny that links like "you don't need jQuery" seem like jQuery advertisement to me.

The jQuery examples are always cleaner, shorter, more intuitive.

<comment><USER7> Yes, they're effectively the same, but one is slightly more ergonomic, and the other saves you 30KB (which isn't much, in my opinion) and the pain of managing yet another dependency.

<comment><USER8> Its only 30k until your project gets large enough that the jquery terseness makes up the difference.

</comment></comment></comment><comment><USER9> It's such a weird world. If jQuery was new, people would be all over it for its nice syntax. But since it's old people say we should get rid of it.

<comment><USER10> I think there's also a factor of doing so much which has now been standardized in browsers: imagine a hypothetical jQuery 4 which mostly focused on DOM/CSS compatibility and used native ES6 where possible, always using the standard names and signatures for things which are only partially supported. I think that'd help people focus on the more ergonomic parts rather than whether you type each or forEach.

<comment><USER9> When I look at the examples and seeing how verbose some of the natives examples are I would probably end up writing something similar to jQuery to keep the main code simple. Maybe that's the way to go.

<comment><USER10> That's what I was thinking — imagine if you started now with things like the ES6 array & NodeList methods, etc. as the model to follow and built the same convenience methods without needing to deal with horrors like the IE6 DOM. $(foo).css("color") would still be useful but you might end up with $(".foo").forEach(…), $(foo).classList.add("foobar") or $.fetch(…) to reduce the number of new nouns and verbs a developer needs to remember.

</comment></comment></comment></comment><comment><USER11> I get that I don't need Jquery and that I can do DOM stuff myself. However. JQuery makes DOM stuff a lot easier to remember and perform.

I think I'll always be prototyping in Jquery.

Large stuff we built in React, Redux etc... But if you need a quick tool or prototype, just adding a single <script> tag to get JQuery from a CDN and you're ready to go. Nothing is going to beat that, right?

<comment><USER12> For my own projects I've actually found it easier to start with Vue immediately, even for a prototype.

If I have to do any DOM manipulation outside of perhaps hiding or showing an element based on a button press, I typically find it far more unwieldy to do all that stuff with jQuery than just scaffolding out a quick Vue component.

Plus, there is a build available with a runtime template compiler, so you can just pull that in via a CDN and prototype without needing a build step.

Obviously, it varies a lot based on the sort of things you build, but I've found it to have sped up my prototyping process enormously.

<comment><USER5> You can still put in a script tag and start using vue.

<comment><USER13> You can't use components this way though, unfortunately.

I like Vue, never really jumped into react, but I hate using npm and all of the javascript build tools.. I end up fighting with them for a while and decide it's back to jQuery and simplicity. Always works.

</comment></comment></comment></comment><comment><USER14> I think people mistake this as an attempt to tell people to get rid of jQuery. No, that's not the point of these webpages. jQuery still offers an overall nicer API than native. If you're building an application, and have to make the choice between using jQuery and going native, go pick jQuery.

However if you're writing a 10 line script that does something really small (eg. if you have a static webpage and need to make one button slightly interactive) then these guides tell you how to do it without importing all of jQuery.

<comment><USER15> Of course you might also be adding that hack to a page that already pulls in jQuery, in which case why avoid it?

</comment></comment><comment><USER16> The native alternatives all seem longer. I'll keep jQuery, thanks.

(Maybe they should put some of its functionality into the JaveScript standard?)

<comment><USER17> your choice adds a small convenience for you while increasing the payload size and runtime overhead for how many of your users? as an alternative you could make a very small set of wrapper functions to shorten things without taking on the entire jquery lib.

<comment><USER18> Regarding the payload size argument: If you're pulling jQuery in from one of the popular CDNs (which you should be), your clients will almost certainly already have it cached locally anyway.

Can you elaborate on the runtime overhead issue? If you write your own JS functions to replace jQuery, you're still adding runtime overhead... and jQuery likely wrote a more efficient implementation to begin with; jQuery is battle tested and one of the most widely used pieces of software in history, what makes you think your code will have less runtime overhead?

<comment><USER10> > If you're pulling jQuery in from one of the popular CDNs (which you should > be), your clients will almost certainly already have it cached locally > anyway.

Have you ever measured this on a large scale? I've never found it to be true because there are many CDNs, versions, and browser caches are not infinite. If performance is a priority it's almost always faster to serve it directly to avoid things like the DNS and TLS latency from those CDN connections.

<comment><USER19> Plus, I don't think a lot of the engineers on HN are actually even working on first page optimizations. If you are building an application that people are logging in to and using on a regular basis, you can afford a little bit of first load overhead which will then most definitely stay cached for the remainder of the session.

All this talk of trying to skim off a few kb of load time only applies to extreme edge cases of landing pages with flighty potential customers.

<comment><USER10> Yes, it's an oddly specific focus given how few sites have been optimized to the degree that a single cache-friendly resource matters. Given how many sites I run into where a single failure means that functionality breaks entirely, I really think it should be down the list.

</comment></comment></comment></comment></comment></comment><comment><USER20> You don't need a lot of other stuff as well, but it might come in handy. Looking through their examples I'd much prefer someone used jQuery instead of writing a bugged getNextSiblings function themselves.

Also, jQuery is self-contained, doesn't shove numerous other packages into node_modules.

<comment><USER21> > Also, jQuery is self-contained, doesn't shove numerous other packages into > node_modules.

Totally a bonus. Had to deal with npm audit and it warned about breaking changes and security problems. So I did npm audit --force. npm had a "I sure hope you know what you are doing" message. That's not very comforting >___>.

</comment></comment><comment><USER22> Seems like a great reason from me to keep using jQuery. It's not as if I was eschewing React and such, to write SPAs with jQuery.

jQuery is a utility that abstract/hides away all the hideousness that is JavaScript and its prototypes-based nature. And it does its jobs well, plus it has universal support.

Above all -- "work smarter, not harder".

</comment><comment><USER23> Replacing jQuery with these methods seems like a great opportunity for learners to improve their understanding of javascript. Also, with ES6 javascript, there seems to be less need for jQuery.

<comment><USER3> I think this is a good point of view on the topic, and personally resonates with me. I ditched jQuery at the same time I read "JavaScript: The Good Parts" and after that I realized I was never conceptually building systems, only little puddles of functionality, when I used jQuery for FED.

</comment></comment><comment><USER24> jQuery exists for a reason. It gives you portability across browsers and versions, and is generally quite a convenient library to use. If you're not using it for animation, it's also pretty fast. I personally love it, and don't intend to stop using it any time soon (combined with a bit of lodash)!

<comment><USER25> Well, these days, native JavaScript is pretty portable, so portability across browsers and versions isn't really a big selling point for jQuery any more (you're not support IE 6, are you?), but looking at the samples in the link, the brevity of jQuery is impossible to ignore.

<comment><USER26> > the brevity of jQuery is impossible to ignore.

Really makes you think the DOM is needlessly complex and verbose.

</comment></comment></comment><comment><AUTHOR> Why have browser makers not simply begun to include cached versions of popular sites, by their hash? Like a "resource store" similar to an "app store". They have the mechanism: SRIs. It's not like we NEED to store cookies on CDNs or whatever.

<comment><USER27> You get 90% of the benefit with just the browser cache and CDN-hosted copies.

<comment><AUTHOR> Not unless the CDN is a centralized one for many sites.

</comment></comment></comment><comment><USER28> Mandatory reference to the April Fools of Vanilla JS, the framework that does it all: [http://vanilla-js.com/](http://vanilla-js.com/)

I feel like a cargo programmer because I've been using jQuery for 8 years, I have learnt the vanilla JS methods, and it seems jQuery is falling out of fashion. Is it a mistake, or is still popular enough that I will be able to use it with every employer?

<comment><USER5> You are two years ahead of the rise of jquery again. It fits so well with the idea of not writing a custom 6 line function over a simply function chained.

</comment></comment><comment><USER29> Can't all these fancy Javascript compilers and optimizers just inline and constant-fold these query to their in-browser counterparts?

</comment><comment><USER30> See also: [http://www.vanilla-js.com/](http://www.vanilla-js.com/)

</comment><comment><USER31> Also who needs C or Java? We can write software in Assembly.

<comment><USER7> Isn't it more like CoffeeScript and JavaScript than C and Assembly? I mean, if Assembly was more portable than C, better standardized, and adopted on most of the features in C, to the point where it was basically just a somewhat uglier C with a much more certain future, I might switch to Assembly, too.

<comment><USER31> Yes, that's a better analogy.

</comment></comment></comment><comment><USER32> Yeah, I really like jquery though.

</comment><comment><USER33> Youmightnotneedjquery.com

</comment><comment><USER34> is jquery even still a thing?

<comment><USER35> Yes and people still watch TV even if you haven't owned a TV in fifteen years.....</comment></comment>


Java Hangs When Converting 2.2250738585072012e-308 - <AUTHOR> http://www.exploringbinary.com/java-hangs-when-converting-2-2250738585072012e-308/

<comment><USER2> I remember when everyone was bashing PHP (<http://news.ycombinator.com/item?id=2066084>) when they were bitten by the same issue. Then there were articles about this being maybe a GCC bug or at least design issue but people were still saying that it's PHP's duty to take care of this.

I was always afraid that this might bite other environments too as the code that caused the issue in PHP was apparently taken from elsewhere (see <http://blog.andreas.org/display?id=9> for a detailed analysis of the problem). Now this is turning out to be true.

<comment><USER3> Rasmus just tweeted about it:

 _Java's turn to deal with the x87 register issue. Here's a hint Oracle, "volatile"_

<http://twitter.com/rasmus/status/32365768603602944>

<comment><USER4> Rasmussen's hint would work were the number parsing in Oracle's JDK implemented in in C.

Volatile keyword in Java does not guarantee writing to memory and reading it back ([http://java.sun.com/docs/books/jls/third_edition/html/classe...](http://java.sun.com/docs/books/jls/third_edition/html/classes.html#36930)), but using strictfp as a modifier to the method should cause the usage of strict IEEE 64-bit floating point.

<comment><USER5> Well, the underlying JVM is written in C (C++ actually) along with a bunch of assembly. I figured this needs to be fixed at the JVM level and as such the fix might very well be a single "volatile" addition like it was for PHP.

<comment><USER4> Yeah, the JVM is written in C++ but the problem is in Oracle's JDK written in Java. More specifically, line 1596 in FloatingDecimal.java ([http://www.docjar.com/html/api/sun/misc/FloatingDecimal.java...](http://www.docjar.com/html/api/sun/misc/FloatingDecimal.java.html#1591)) is the only place in the correctionLoop that can cause infinite looping. I do not purport to understand what the ulp-function does but clearly it does produce the denormal number we would want.

The interesting value here (dValue) is double but the method is without strictfp-qualifier and thus allowed to use not-quite IEEE-754 doubles.

Were the problem at JVM level, I would think that many numeric libraries written in Java would not work either and the problem would've been spotted earlier.

Edit: Thought Markdown syntax for links was in use here.

<comment><USER5> So a Java double by default allows extended precision beyond the actual double precision the type implies? I can see why it is useful for certain apps to have this capability, and it makes the problem for Java much like the problem for gcc. Most people don't know about it and can be bitten by it, as we have seen, but there are also apps that make use of this extra precision. And yes, I don't know much about Java internals.

</comment></comment></comment></comment></comment></comment><comment><USER6> Ouch.

This affects JRuby, and potentially anyone with a JSON-based API running on the JVM with a JSON parser using the java stdlib to parse JSON floats:

        jruby-1.5.2 > JSON.parse('{"float": 2.2250738585072012e-308}')
        ^C^C^C^C^C^C
        ^C^C^C

(not the most recent JRuby I know, but seems this is a JVM problem...)

</comment><comment><USER7> _"Konstantin reported this problem to Oracle three weeks ago, but is still waiting for a reply."_

This speaks volumes about Oracle as the Java's steward.

<comment><USER8> So they're not falling over themselves to fix a bug which no one has noticed for 10+ years, and which hardly anyone is going to hit in actual use. Maybe they're spending their time fixing problems which are actually affecting developers.

<comment><USER9> Any public-facing Java server affected by this bug that accepts floating point numbers from the user as a string can be hung by this bug.

This is going to be a big problem.

<comment><USER10> And yet...in 10+ years...it hasn't been a problem? Certainly the need to fix it but saying it is going to be a "big problem" is a bit theatrical.

<comment><USER11> Well, yeah. Nobody _accidentally_ hit upon this number, but now that it's a known way to commit a denial of service attack, people are going to take advantage of it.

Imagine your response, but about a kernel privilege escalation bug:

"And yet...in 10+ years...it hasn't been a problem? Certainly the need to fix it but saying it is going to be a "big problem" is a bit theatrical."

</comment></comment></comment></comment></comment><comment><USER5> I have a feeling we will see this come up in more places. When we fixed the code for PHP we saw very similar code in a lot of other projects.

<comment><USER12> Yes, every project should check its strtod function. If it has a potentially infinite loop, be very worried :)

</comment></comment><comment><USER13> If I'm not mistaken, this is _bad_ : it enables a trivial DOS attack against any web service that accepts floating-point input. (For instance, one of the commenters on the OP noted that Google Spreadsheets backends are vulnerable.) This includes, as a special case, any service that accepts JSON input.

I expect a lot of teams will have to rush out a patch. I feel for them...

Incidentally, I haven't seen a simple workaround posted anywhere. Has anyone seen a regexp or code snippet that can identify strings which would trigger this bug?

<comment><USER14> Maybe I'm dense, but why does this affect apps that use JSON?

<comment><USER13> Because JSON can include floating-point numbers. If you pass { foo: 2.2250738585072012e-308 } to any JSON service, I'd expect it to invoke Double.parseDouble(...) as part of its input processing, and trip over the bug. This would probably occur before any type checking of the input, and thus would probably work even for a service which does not expect floating-point inputs.

<comment><USER15> This is not correct. Think about a service which used PHP's json_decode function. PHP has fixed this bug, so there would be no issue.

The problem has nothing to do with JSON. It only affects JSON parsers that run on a JVM.

<comment><USER13> Right -- when I said "any service that accepts JSON input", I meant "any JVM- based service that accepts JSON input". I thought the JVM qualification would be clear from the context of this thread, apologies if it wasn't.

</comment></comment></comment></comment></comment><comment><USER16> The compile-time version will hang a Clojure REPL, too:

user=> (def d 2.2250738585072012e-308)

<comment><USER17> makes sense, same thing in scala:

Welcome to Scala version 2.8.1.final (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_22). Type in expressions to have them evaluated. Type :help for more information.

scala> 2.2250738585072012e-308

(infinite loop)

</comment></comment><comment><USER18> The compiler one is pretty neat. Hung IntelliJ. Didn't hang VS.NET. Had both open, had to try.

<comment><USER19> Just to confirm .NET/C# handles this and correctly. So does IronScheme.

<comment><USER20> Why would a Java / JVM issue hang the .NET CLR?

<comment><USER21> Because by all accounts this isn't a Java/JVM issue. It's a flaw in a commonly used algorithm for handling floating point numbers. Given that php and possibly gcc use variations on the same algorithm, and have the same flaw, it's not unreasonable to think that other languages/compilers/runtimes would also be affected.

<comment><USER20> Thanks for the clarification.

</comment></comment></comment></comment></comment><comment><USER22> FWIW the Oracle/BEA jrockit compiler does not hang. It does hang on execution, however.

       Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
       Oracle JRockit(R) (build R28.0.1-21-133393-1.6.0_20-20100512-2126-linux-ia32, compiled mode)

</comment><comment><USER23> Link to actual code: [http://google.com/codesearch/p?hl=en#lM3pwaU8RUc/src/share/c...](http://google.com/codesearch/p?hl=en#lM3pwaU8RUc/src/share/classes/sun/misc/FloatingDecimal.java&q=parseDouble&l=1476)

</comment><comment><USER24> I assume this hits Clojure, JRuby, etc. harder because it affects all values which are converted to Strings, but only affects Java when one explicitly converts to Double?

So when a (Java) website expects an Int as input, it's not affected, but Clojure,JRuby etc would be?

Am I right, what am I missing?

(see the comment with

user=> (def d 2.2250738585072012e-308)

)

</comment><comment><USER25> Doesnt hang Ruby 1.9 (MRI) and python 2.7 and python 3.1

<comment><USER26> Ruby 1.8.7 appears to be fine too

<comment><USER5> This particular value is specific to the Java implementation. Ruby has very similar code to PHP though, so a slight variation of the value may trigger it. You also have to be on a platform that actually has an x87, of course.

</comment></comment></comment><comment><USER27> So, in summary, we've made counting on computers so complex that we're still failing to get it right. Similarly to how we've made the alphabet (unicode) on computers so complex that most programs are still trying to get that right.

</comment><comment><USER28> This seems to be a not rare occurrence around the phase boundaries of functions. I had a similar problem with the atan2 function in the PL/I - Fortran library on the CDC 6600. One of my testers was stepping across the boundary between valid and invalid arguments and there was a single binary value that blew up. I was the compiler lead so it got fixed. Any of you remember the 486 floating point problem?

</comment><comment><USER23> What about android?

<comment><USER29> Android is not i386 based and this is x87 FPU and gcc specific bug in commonly used atod() implementation, so I assume that this does not happen on Android.

<comment><USER23> The bug is in the JDK code running on a JVM (I posted a link to the source). Also runhang.java hangs on my 64bit java vm.

</comment></comment></comment><comment><USER30> Obvious question --- are there any java web services running at Oracle that take a string input from a form or a URL, and tries to convert said stirng to a floating point variable?

</comment><comment><USER31> I cannot recreate this using Spring TC (<http://www.springsource.com/products/tcserver>) server.

</comment><comment><USER32> In that case, this still applies: <http://zenebo.com/cmc/1/></comment>


Ask HN: Self taught programmers without CS degree working at one of the big 5? - <AUTHOR> Self-taught programmers without CS degree working at one of the big 5 Google, Facebook, Apple, Microsoft or Amazon. Kindly share your experience, how you did it & how happy you feel. <comment><USER2> I don't have a CS degree and currently work at Google.

I used a bootcamp to get my foot in the door. I studied college textbooks in my spare time for a few years to fill some of the gaps in my knowledge, and then hardcore interview prepped for a few months leading up to my interviews. I got accepted into all of the tech giants and ultimately decided to go to Google.

This is by far the best job I've ever had, and I couldn't be happier with how this all panned out.

People vastly overestimate how much you need to know to get a job at a tech giant. Not everyone at Google is a computer science or math wizard - in fact, the number of jobs that require people with highly specialized knowledge is quite low. Most people are doing the same app development you'd do anywhere else.

<comment><USER3> Out of interest, how did you go about actually getting the interviews?

Unlike you, I have a CS degree, and I've applied to the top five a few times now. Microsoft and Amazon contacted me, and after I agreed to an interview they both went quiet. Facebook never got back, and Google rejected me twice after sending in my CV.

I've tried a number of ways, through LinkedIn, direct applications, and even asking face-to-face at conferences, but it feels like I've angered some almighty tech god because none of them seem remotely interested, or are happy to tease me with an interview, only to ignore me after I reply.

I've always assumed that if it's this hard for me, then it must be as hard, or harder for others, so it'd be interesting to hear about the actual process of getting an interview from your perspective.

<comment><USER2> I'm honestly not sure what to tell you - the recruiting side of things is so opaque that I'm not sure what you can do to get past the initial screen. I personally had a strong referral at Google, but everywhere else I applied through the front door and had no issues.

If I were to take a guess, I'd say that I got a bit lucky - right place/right time sort of thing. I had a few years of experience under my belt, which separated me from the new grads, but not so many years of experience that I'd be competing with senior engineers. On top of that, I applied for front end positions, which I think tech giants have only recently started to value - this has left a bit of a void that needs to be filled, which possibly made it easier for me to get the initial recruiter calls.

My resume was also relatively strong for someone with two years of experience. Solid university, strong GPA, and at my previous jobs I always tried my best to wiggle myself into taking on large projects and write tooling to make everyone's lives easier. This gave me a lot of stuff to talk about during the interviews and made for some impressive looking bullet points.

</comment></comment></comment><comment><USER4> I don't have a CS degree and work at Amazon. I picked a specialty completely unrelated to academic CS that's generally welcoming of beginners (PHP development).

After getting a very entry level PHP job based on reading a few O'Reilly books, I spent a couple years getting progressively less shitty jobs with progressively higher pay and levels of responsibility. By the time I got an interview with Amazon, I was a legitimate PHP expert. I read a book on Amazon's leadership principles and worked through Cracking the Coding Interview to prep for my interview loop at Amazon, and I'm pretty sure only one or two of my interviewers knew I didn't have a CS degree -- the rest didn't look at my resume.

Now that I've been at Amazon for two years, I don't think any employer would care about my lack of a CS degree. I'm certainly happy to be making several times more than I did in my previous career (French teacher).

</comment><comment><USER5> Self taught programmer WITH a CS degree, worked at 2 of the companies you mentioned. I got a master's degree in CS a while ago. I still call myself a self taught programmer because I started learning as soon as I started practicing CS at work. A degree is like a passeport, hard to move around without it and people assume you do have a passeport because it's easy to get.

So, it could be just a memory exercise. If you practice on leetcode and memorize about a 100 different problems, then you should be able to get in any of these companies (as illustrated by other people here).

Last but not least, to really answer your question, you basically feel pressured to deliver a lot in a small period of time. Not once, not twice, always. You get judged a lot on your abilities and at the end of the day, you still work on products that solve very basic problems - web app, mobile app, e-commerce, social, etc.

It's all about fear and ego. Was I able to work at one of these top companies? Am I the smartest employee in my group? Is my annual package bigger than my friends packages? Am I wearing a t-shirt of my employer during the weekends? Things like that... from experience, you should be hunting for a much bigger opportunity in life. Go where things don't exist yet and don't get distracted by very successful people like zuck, jobs, gates, etc. who have built empires. Do you want to work for their missions or yours? Use them as examples, don't work for them!

<comment><USER6> This is the same impression I got by interviewing at the big 5. Everybody there drinks the Koolaid while building things that have a negative impact on the world

</comment></comment><comment><USER7> I start at Apple tomorrow - unfortunately I can't really say much about it except that my industry experience and experience interviewing with a myriad of companies helped prepare me for the interview process at Apple, although Apple is pretty intense as far as interviews go (I only study interview failures).

While I am self-taught and without a CS degree, I did spend 4 years at a top 15 PhD program in mathematics (UIUC), and have undergrad degrees in math & physics.

After leaving grad school, I was desperate for any career track job - after 2 years of fruitless job searching, I got fed up and started teaching self whatever skills I felt I needed. Observing lots of web developer positions open, I decided to target programming skills. Half a year after then, I got my first job as a frontend web developer. Turned out I loved the work, and invested a lot of hours outside of work investing in myself to improve my skills. I also was introduced to the world of open source, and guided to contribute. Fast forward to today, I have 4 1/2 years of web development experience, predominantly frontend but about two years working across the stack. I have architected frontends for most of my career, as well as done some major open source work.

<comment><USER8> Congratulations! as a front-end engineer, did you also have to master Algorithms and Data Structures to be able to get into Apple?

</comment></comment><comment><USER9> To preface my answer: I don't work at one of the companies you mentioned, but before I joined a graduate program I didn't have any undergraduate degree and I still worked in the industry just fine. I am reasonably certain I'd be hired at at least one of them if I tried, and I've been invited to interview at one of them a few times by a specific team.

It's going to be hard to be hired at one of those companies without previous experience, whether that is through academic accreditation or through relevant work experience. So if you're already working as a developer in some capacity that's a good first step.

The knowledge you're missing (specifically for the interview process) comes in two flavors: breadth and depth.

In terms of breadth, you want to understand databases (applied set theory, you can focus on RDBMS), networking, computer architecture (including latency and memory), and system design.

In terms of depth, you want to dive into complexity theory, algorithms and data structures. You'll want to know data structures and algorithms such that you can both implement them and reason about their asymptotic complexity. Specifically, know data structures (arrays, linked lists, stacks, queues, etc) and algorithms (searching, sorting, graphs, etc) and know their respective complexity classes.

On a practical note, you should practice whiteboard coding for implementing the foregoing as well as 1) testing your code and 2) incrementally improving it (i.e. get comfortable writing a reasonably quick solution to a problem, then grappling with it to improve the approach and make it faster). You'll also want to practice mapping problems to the algorithms and data structures you've learned.

Functionally, in an interview you'll be doing the following:

1) Receive problem,

2) Think about the problem before diving into it, and map the problem to a first order solution,

3) Test the solution to reasonably account for edge cases,

4) Now improve your solution's complexity for time or resource requirements.

I can't comment on how happy the working environment is, but I'm familiar with folks working at at least two of those both with and without CS degrees. It's not at all an insurmountable hurdle; the biggest obstacle is taking an inventory of your unknown unknowns and working through them.

<comment><AUTHOR> Thanks for sharing this, I'm currently using this [https://teachyourselfcs.com/](https://teachyourselfcs.com/) as a study tool.

</comment></comment><comment><USER10> TL;DR: helps, not usually a deal-breaker.

Self-taught programmer here for a long time (later got a CS & Engineering degree at a UC).

I worked at Trimble, Stanford (with IITians) and many other Fortune 500 shops as a consultant without a degree. No problem.

The only thing a degree really solves it tells HR "candidate completed some hazing ritual, with a smattering of learning how to learn."

Some people look at degree as a pedigree, but it's mostly BS (and expensive).

The goal of certifications and degrees should be based on whether it's required by a specific industry (ie professional engineer) or job role (ie doctor).</comment>


Coronavirus: Electricity use up during day as nation works from home - <AUTHOR> https://www.bbc.co.uk/news/technology-52331534 <comment><AUTHOR> However usage overall for the day is down around 20%: "But overall, the country is actually using less energy because of businesses being closed. The National Grid reports that morning and afternoon electricity demand is down by nearly 20%."

Given there will be more people at home, watching more TV, playing more consoles and other electrical usaing appliances, maybe washing clothes more frequently... So I'm not sure that attributing all those working at home for the lunchtime spike is fair. After all - people are kinda stuck indoors - compared to lunchtime when people would normaly be out and about not using electricity as much. So all those adults who would be on a lunchbreak, children who even at school would be on a lunchbreak - all suddenly stuck indoors. I'd say that aspect would spike that period of usage way more.

As for the drop, well the question of is working from home more enviromentaly freindly and is it lower in electric usage compared to a big office. Probably.

But the real usage that makes a big dent would be large industry and with much of that shut down, then the real drop I'd expect would be from that area.

Though I'm sure much will be learned mining thru the data and learning so much after all this. Certainly see home working more acceptable and may be the case that companies are forced to make provisions by law under some government emergency planning edict down the line that it will be viewed over time in much the same way we have to have fire doors today.

What would be interesting would be had this been winter time and the impact of extra home heating during the day for many. That may well of been higher compared to centralised offices, schools etc. Though would be nice to know, I hope things don't go on long enough so we find that one out.</comment>


Programmers are Indicted in Madoff Case - <AUTHOR> http://www.nytimes.com/2010/03/18/business/18madoff.html?ref=us

<comment><USER2> Here is one article with some more details of the programs they wrote to specifically make Bernie's frauds possible:

<http://www.wired.com/threatlevel/2009/11/madoff-programmers/>

> _Jerome O'Hara and George Perez, former computer programmers for Madoff's > Manhattan-based business, were arrested on charges they helped cover up the > massive scam for more than 15 years and accepted payoffs to keep quiet after > they threatened to stop hiding the conspiracy, prosecutors said._

[http://www.usatoday.com/money/industries/brokerage/2009-11-1...](http://www.usatoday.com/money/industries/brokerage/2009-11-13-madoff- air-charter-jet_N.htm)

<http://www.nytimes.com/2009/11/14/business/14madoff.html>

</comment><comment><USER3> Mark Cuban nailed this early on: [http://blogmaverick.com/2009/01/18/breaking- down-bernie-mado...](http://blogmaverick.com/2009/01/18/breaking-down-bernie- madoff/)

</comment><comment><USER4> So people that design and sell handguns are not liable for murders with those handguns, but people that design and sell computer software are liable for crimes committed with that software?

We need more lobbyists.

<comment><USER5> "They are charged with conspiracy and falsifying records of a broker-dealer and of an investment adviser."

If the people selling handguns assist in the murder, they too are liable.

<comment><USER4> What's "assist"? Telling someone how to modify a semi-automatic gun to be fully-automatic? (Apparently not.)

Every article about this situation is very low on details, so I am not sure that the programmers didn't do something obviously illegal. In that case, the fact that they were programmers is irrelevant, and shouldn't be mentioned. (The article should be "Some people that worked for Madoff helped him commit crimes" instead of "Programmers randomly indicted for t3h c0dez.")

<comment><USER6> If I'm reading this right, they're accused of writing programs whose goal was to give disinformation to auditors including the SEC. That would make their being programmers relevant.</comment></comment></comment></comment>


Ask HN: What PHP framework would you choose if you could start over? - <AUTHOR> Suppose you work at a company and a new project comes up with no reponsibility whatsoever to reuse existing code. The task is to create a web application based on a framework with the following features:
- GPL-compatible licence
- developed by community, not a company
- framework and application are written in PHP
- should be extendable via plugins/addons/extensions etc.
- cms features are included (or via addons)
- deployment features are included
- no php code in templates
- payment and shop features are included (or via addons)
What framework would you choose?
Also, feel free to share experience with web frameworks even if you don't know any framework that might fit. <comment><USER2> Laravel I believe matches most criteria above. Symfony would be a second choice.

The driven factor though is community. This is key. No matter how good your framework is if there is no community behind it to create, innovate, talk about it and so on.

Worked with Zend framework 2, which I believe is a great PHP framework, but the community is stagnant. We often have to create modules (libraries) for things most frameworks already had (ie, Symfony).

</comment><comment><USER3> Laravel

It's got the most active PHP community, and sufficient online support from documentation and community. You could also start with Spark and let them handle the boilerplate.

[https://spark.laravel.com/](https://spark.laravel.com/)

<comment><AUTHOR> Does it match _all_ the criteria above?

<comment><USER4> Wow.... What a sense of entitlement. You ask HN a question and then jump down a commenters throat for _potentially_ not meeting ALL of your requirements (Some of which are not clear at all or, at least with the information you provided, don't make sense at all: templates without code in them aren't templates, they are static HTML pages...).

Laravel is a great suggestion and has been made multiple times in this thread, it may not meet every last bit of your criteria but to disqualify it for that reason would be ridiculous. There is literally NO framework or CMS that exists that is going to meet _all_ your requirements.

<comment><AUTHOR> My comment was not meant to "jump down" on anyone. Sorry for the misunderstanding. It was a simple question (also because the Laravel answer did not go into that much detail).

The reason why I added "templates without code" is because I have seen too much abuse of php code in templates to even consider doing that again.

While you are probably right that there might not be (but who knows for sure...) one framework that meets all the criteria, it is still worthwhile to ask the community for suggestions.

</comment></comment></comment></comment><comment><USER5> Yii2[0] is simple, elegant and powerful. Unfortunately it does not adhere to:

> \- no php code in templates

But it does abstract the template/view nicely.

On a personal note and this will most probably get me down votes. I would not recommend anyone to use PHP frameworks. But I understand real-life factors like current skill set, dev availability, etc.

[0]: [https://github.com/yiisoft/yii2](https://github.com/yiisoft/yii2)

<comment><USER6> I agree, and I've used Laravel too. Yii is built and designed by someone who has written frameworks before and understands how to do it right. The creator wrote the Prado framework, then wrote Yii from the ground up.

Laravel definitely has all the hype, but Yii has been around much longer and is better architected imho. It does have a slightly steeper learning curve and isn't as instantaneously easy to use at first, but it's worth the effort.

</comment></comment><comment><USER7> Symfony 3 or Laravel 5.

Laravel has been created by Taylor Otwell. Here are his thoughts on Symfony 2 "vs" Laravel 4. It's from 2013 but it's still interesting to understand the difference.

[https://www.reddit.com/r/PHP/comments/1bdln1/symfony2_vs_lar...](https://www.reddit.com/r/PHP/comments/1bdln1/symfony2_vs_laravel/c96ohf1)

</comment><comment><USER8> I would choose Symfony. I believe it matches all of the above criteria.

And it has:

\- amazingly simple upgrade paths, backwards compatibility guarantee on minor and patch releases

\- regular, non BC breaking, updates and new features

\- corporate backing

\- large ecosystem of "bundles", which are Symfony's addon system

\- cli tool for scaffolding, debugging and more

\- strong conventions that help keep code structure clean when you are in a team of 2+ members

</comment><comment><USER9> * - developed by community, not a company *

This rules out Symfony and Laravel which are imho the only sane options in php.

Why do you need this requirement ?

<comment><USER10> Laravel isn't developed by a company.

<comment><USER11> Laravel LLC

</comment></comment></comment><comment><USER12> As someone with positive experience in Ruby on Rails, I would choose (and have chosen) Laravel. Specifically version 5.1 which is the current LTS release.

It does _not_ have a CMS module nor an ecommerce add on as far as I'm aware, but depending on the complexity of your requirements they might not be difficult to do yourself (eg just a few pages of editable content with a few wysiwyg editors here and there, and a straightforward shopping cart / checkout experience using Stripe for payment).

If you absolutely need plugins for all the things in your list, I think Symfony is probably your best bet -- but it is less of a cohesive framework than Laravel, so you'll be mixing and matching things and doing a bit more work on your end (but possibly worth the tradeoff).

<comment><USER13> > It does not have a CMS module

octobercms.com is based on Laravel

<comment><USER12> October is based on Laravel, but it is not a module that you can "plug in" to an existing Laravel site -- hence it does not meet the OP's requirements.

</comment></comment></comment><comment><USER14> I wouldn't use laravel because it seems that the guy who made it hasn't yet earned my respect as the dictator of the project. It seems backwards compatibility is a real issue for his framework. He's no torvalds. I can't trust him to not break things.

<comment><AUTHOR> What functionality got broken?

</comment></comment><comment><USER15> Slim - [http://www.slimframework.com/](http://www.slimframework.com/)

</comment><comment><USER16> Definitely Laravel. My company switched over at the end of last year and it's been great. I think it meets all your requirements except for `no php code in templates`, though I think you'll always have to have some minimum template code for looping/displaying data in any framework.

<comment><USER12> fyi Laravel does _not_ use PHP code in templates. It has its own templating language called "Blade" (which I personally don't like, so I swap out Twig instead).

<comment><USER16> You can use straight PHP in blade templates if you want. Even with blade tags, for the most part it's still just PHP.

</comment></comment></comment><comment><USER17> Use the framework that the team likes and wants to learn.

You're going to get the best value from a framework that is matched well to the team's current skills and ambitions. Consider:

* Team currently writes procedural code versus Framework requires understanding of Functional Programming or Object Oriented Programming

* Team writes quickly and loosely versus Framework requires developers to code methodically and carefully (perhaps because it has less "out of the box" features and more "flexibility". Security is a good example here.

* Team likes technical challenges versus Framework makes coding routine boilerplate and boring.

etc.

</comment><comment><USER18> A lot of people here are saying Laravel. I agree. I haven't done a new site in PHP in a long time but I did jump back and try Laravel for a bit and was impressed.

</comment><comment><USER19> What's the scope/role/purpose of your app?

<comment><AUTHOR> Responsive UI for non-web system. But noone knows what the future brings so we'd rather build this thing on a solid base.

</comment></comment><comment><USER20> Basically 2 stages:

Migrate existing code to something you're stable with.

Then go on improve it, standardise, basic migration path.

PHP, or .NET or Java, doesn't matter a lot. Get the job done.

</comment><comment><USER21> I'd argue Laravel and Symfony's development are tightly coupled to a single person / company (Taylor Otwell / SensioLabs). If CMS & ecommerce are a big portion of this project I'd easily pick WordPress. The only requirement it fails to meet is "no php code in templates". WordPress meets all the other criteria and it is generally great for spinning up a MVP.

<comment><USER22> Wordpress is good if you need posts/blog-like site, but if you're going to scale up to something really huge like Groupon did, you'd be better off with a custom framework w/ full control, better caching, etc. -- Wordpress is a hog on resources, and very easily hacked as well. My laravel sites all perform light years better/faster.

</comment></comment><comment><USER23> Depending on projects I'd choose between Laravel & WordPress. I like the simplicity of these 2 systems.

</comment><comment><USER24> > What framework will you choose if you could start over?

Anything that is not Python or Ruby or NodeJS based, i had so many problems and nigthmares with Django/Flask/RoR/bottle.py/web2py/Meteor/etc.

> He say PHP Framework...

Anything but CakePHP, Zend or Code Igniter maybe Laravel or Slim.

<comment><USER25> There is a lot of Node.js frameworks out there. Meteor is not really representative of them. Did you have issues with other Node.js frameworks too?

</comment></comment><comment><USER26> I realize that this is not in line with the PHP requirement, but hear me out:

I would use Ruby on Rails.

I have transitioned from using Drupal to Symfony2 (sometimes with Sonata) to using Ruby on Rails, and let me tell you, everything is indeed greener on this side. The tools are better, the language is easy to learn and it is mostly sane. The framework is amazeballs, I am not even kidding. Writing tests is actually fun. In general, I am a much happier developer with Ruby on Rails. I would also dare to say that RoR makes me a lot more efficient as well.

In Symfony I'd frequently get stuck in finding a workaround for some weird bug, which just doesn't happen that much anymore in Rails...

<comment><USER27> I have to agree. Having gone from using Ruby/Rails to the PHP side and its whole ecosystem, if you want an MVC framework I would say just use Rails or Django. Laravel is somewhat painful by comparison.

Wordpress is quite fine for most things though.

</comment></comment><comment><USER28> Symfony 3 has worked out very well for us. I don't have experience with lavarel or zend.

</comment><comment><USER29> Silex

</comment><comment><USER30> Code Igniter and Drupal are my choices.

<comment><USER31> Worked on Drupal for half year and I swear that I will never touch this piece of shit.

CodeIgniter is only good for very simple website. It miss a lot of functions that a sophisticated framework has (eg Laravel)

<comment><USER27> Drupal, in whichever flavors people are still using (5, 6, 7 or 8) is quite bad. Avoid, Avoid, Avoid.

</comment></comment></comment><comment><USER32> If you have a chance to rewrite everything it's time to high tail it out of the PHP ecosystem my friend.

<comment><AUTHOR> Most people in my company have mostly been working with PHP and thus it would be too much of a break with the past to switch languages.

</comment></comment><comment><USER33> I use Symfony and love it.

</comment><comment><USER34> ive used Yii and it was ight. Php sucks dick tho

</comment><comment><USER35> Laravel or Slim.

</comment><comment><USER36> So you're looking for a CMS - Wordpress and friends - clone, and not a framework?

<comment><USER27> Right. This shouldn't be understated. If a CMS is a must, why isn't Wordpress being considered?

<comment><AUTHOR> We had some experience with Wordpress and from the list of features, it fits the bill almost. Almost because we found the templates were very messy.

</comment></comment></comment><comment><USER37> Django

<comment><USER38> BSD license, not GPL.

<comment><USER39> BSD 3-clause is GPL-compatible.

[https://www.gnu.org/licenses/license- list.html#ModifiedBSD](https://www.gnu.org/licenses/license- list.html#ModifiedBSD)</comment></comment></comment>


How ASCII Lost and Unicode Won (2012) - <AUTHOR> http://blog.goosoftware.co.uk/2012/12/05/how-ascii-lost-and-unicode-won/

<comment><USER2> It was all downhill after ASCII took over from EBCDIC [http://en.wikipedia.org/wiki/EBCDIC](http://en.wikipedia.org/wiki/EBCDIC) from our beloved IBM</comment>


The invisible hand that pushed Apple up and down for six years - <AUTHOR> http://tech.fortune.cnn.com/2013/12/16/apple-odd-lot-hft/ <comment><USER2> This article (and the comments here on HN) are cringe inducing. The author of the post has no idea how financial markets work. None.

So what if 45% of all trades were odd lots? What was the value of those trades relative to the trades that were on the tape? It's a simple and obvious (and important) question that they don't address in the article because the article is all about pushing some BS agenda that AAPL was somehow being manipulated. Are we really supposed to expect that a bunch of one lot trades were pushing AAPL "to extraordinary highs and confidence-shattering lows"? Are we really supposed to believe that the mom and pop investing public makes trading decisions based on the tiniest orders on the tape?

This article is complete joke and if this is the kind of financial markets reporting you're reading you are grossly misinformed about how the markets actually work.

<comment><USER3> Totally agree: cringe inducing article. The paragraph that really got me was the following: "Why does this matter? For one thing it means that for years, trading volume in Apple was being misreported -- a situation that can lead to a stock being mis-priced. The system also advantaged one kind of trader over another."

This is wrong on so many levels. Trading volume was not "misreported" it was simply under reported. There is absolutely nothing wrong with that. And it certainly would not lead to any mis-pricings. There is absolutely no way this could advantage one trader over another... none.

<comment><USER4> _There is absolutely no way this could advantage one trader over another... none._

I don't think this is right. Many traders run technical strategies that incorporate trading volume. A trader using the consolidated tape is at a disadvantage relative to another trader running the _exact same strategy_ who uses the full feed.

For example, consider a simple predatory trading algorithm (someone trying to buy ahead of a big player who wants to move lots of shares). If a big player makes a bunch of trades in 99 share lots, they will completely sneak past the predator.

<comment><USER3> By using the word "predator" you are somehow implying that this is bad behaviour. I disagree with that. Is it somehow wrong to buy because you think the price will go up?

You are further implying that there is 0 market impact from trading odd lots. By "taking" 1 share you are reducing the supply in a symmetric manner. Both demand and supply will adjust to this new information, whether its disseminated to the tape or not.

<comment><USER4> I intend no value judgement by the use of the word "predator", it's simply a technical term. I'm strongly in favor of predatory trading - it prevents institutional investors from screwing over the little guy by hiding big trades and forcing their counterparties to suffer the price impact.

I'm not implying that there is 0 market impact from trading odd lots. The market will adjust to the new information. It's just that the guy looking at the consolidated feed will not be making a profit by helping it adjust.

</comment></comment></comment></comment></comment><comment><USER5> Here's the original Nanex source in question:

[http://www.nanex.net/aqck2/4500.html](http://www.nanex.net/aqck2/4500.html)

</comment><comment><USER6> Huh, Interesting.

Another sign in my mind that high frequency trading is a bad idea, and in my opinion encourages bad behavior among everyone who touches it.

<comment><USER7> The conclusion wasn't that this was caused by HFT but because NASDAQ and the NYSE only showed trades that had a size of 100 or greater in their public feeds. Since a 100 shares of APPL is worth $50,000+, there's a lot of trades being made for less than 100 shares and, until the reporting changes made a few weeks ago, they didn't show up on the public feed. This means that trade volume wasn't being reported accurately, and that the public feed wasn't representative of the active price of a stock like APPL - which is a fairly big deal when, according to the article, 45% of APPL trades are in lot sizes of under 100 shares.

For professional traders (and here's the only place where HFT is relevant) it's not a big deal since they don't use the public feeds but instead pay for feeds from the exchanges which include all trades.

<comment><USER8> It's a big deal to everyone who is not a "professional" trader. Oh and by the way, HFT mostly trade low volume at high speed. In other words, trading 5 shares of Apple 5 million times an hour. That makes money. It's not about the big pay-off. It's about the pennies all adding up. And also explain why the stock was wildly moving all over the place.

Personally I think this type of trading should be illegal. Right now, unless you have a data center right next to the exchange you are trading at a disadvantage. And it just adds to the many reason why I think the game is rigged. To favor the big houses. You're almost better off at Vegas.

<comment><USER9> If you're investing over anything approaching the short term then it is exactly like playing at Vegas, except the card counters aren't banned.

If you _invest_ , i.e. over 10+ years then HFT doesn't matter other than giving you better liquidity and lower spreads. There is much, much less competition in that space, no computer trading and you are capable of actually doing research.

Investing and watching daily stock moves is a sure fire way of losing your hair and becoming miserable.

<comment><USER10> > _If you invest, i.e. over 10+ years then HFT doesn 't matter_ //

Is there any proof of this. How long have we had this sort of HFT?

Strikes me that HFT is extracting value from the market. The prices are usually relatively stable they're increasing the draw of money away from smaller traders but also removing value overall (in the form of money) from the system and not adding much value. Yes, liquidity, yadda-yadda but surely market liquidity is no greater now but HFT is far more effectively removing money (a proxy for the value extracted).

In other words other people are creating value and HFT is a sink for it. The bar to entry to the HFT camp means there should be an overall movement of capital towards the most wealthy in this sort of system.

<comment><USER9> HFT extracts the value from transactions. It won't extract the value from a company becoming twice as valuable.

Invest because you think the company is going to be successful and thus more valuable. The actual amount of stock that is HFT traded is tiny relative for each company, long term price is driven by what institutional investors are willing to pay for actual percentages of a company.

</comment></comment></comment></comment></comment></comment><comment><USER11> some institutional trades aren't available for the public to see..

[http://en.wikipedia.org/wiki/Dark_liquidity#Dark_pools](http://en.wikipedia.org/wiki/Dark_liquidity#Dark_pools)

<comment><USER12> False. Some institutional ORDERS aren't available to see. The trades must be reported.

<comment><USER11> agreed they need to be reported but its only after, you won't be able to see them via the normal bid/ask volume from your broker for example.

<comment><USER12> The normal bid/ask is not trades. It is orders.

This is the same as OTC, which is not a new technological development.</comment></comment></comment></comment>


GitHub's GraphQL schema Visualized - <AUTHOR> https://www.useloom.com/share/aea6c32878364abf857b78dc3ee67f17 <comment><USER2> So this is just a demonstration of your website? The video itself is not useful for visualizing GitHub's GraphQL schema. Am I missing something?

<comment><AUTHOR> this is a demo of open source project, would you like to see more?

<comment><USER2> I was just confused because the title does not mention that it is a video and the title is not descriptive of the content. I thought the submission may be linking to the wrong thing or that there is a link to a pdf of the content on the page that I failed to see.

Personally I do not find video to be a useful medium for displaying static visual information. If I want to see how someone does a flip then sure but for looking at code or diagrams I prefer text or something similar. A possible use case for your project among developers might be demonstrating a bug. If someone has a bug associated with their choice of operating system, for example, it may be impossible for those who use other systems to reproduce and excessively tedious to describe in text format. It could also be useful for screen capture that is going to be turned into a gif for project demonstration.</comment></comment></comment>


Out-of-control ski lift speeds downhill and flings skiers off their seats - <AUTHOR> https://boingboing.net/2018/03/16/out-of-control-ski-lift-speeds.html <comment><USER2> Skynet is here.</comment>


Microsoft and Red Hat partner - <AUTHOR> http://blogs.microsoft.com/?p=54883?wt.mc_id=WW_ABG_CLD_OO_SCL_TW&Ocid=C+E%20Social%20FY16_Social_TW_MSCloud_20151104_268989404 <comment><USER2> I'm not fooling myself into seeing this as anything but a "you scratch my back, I'll scratch yours" setup. RedHat is getting a ton out of this, and so is Microsoft.

Who's the main target for Azure? Enterprise companies who trust Microsoft implicitly. When an exec comes to the head of IT and says "we need to be on the cloud! I read about it!", Azure eases the transition by being able to go to vendor you've already been using for a dozen years.

RedHat's core audience is enterprise as well. RHEL is the de facto standard for that level of infrastructure due to the support you can get versus any of the distributions that are equally as good, but minus the support contracts.

So, they're helping each other out and that's good in my humble opinion.

Microsoft's new direction under their new CEO is one surprise after another. I've only tinkered with Azure so far but makes me want to pay MS more attention than I would have a couple years ago.

<comment><USER3> > Microsoft's new direction under their new CEO is one surprise after another.

I don't know about that, it all seems fairly logical. Don't forget that Microsoft is primarily a "business business" rather than a software business (ie. optimizing for business longevity above all else).

Microsoft appears to have practically perfected the game of "maintaining vendor lock-in in an otherwise open ecosystem". That game requires "giving in" at times, when it is no longer viable (in the long term) to compete with other options.

A good example of this is the open-sourcing of .NET. I don't believe for a second that this was a change of heart of a developer or even a team - it is far more likely that Microsoft is realizing the increasing shift away from Windows and .NET, and towards more 'open' platforms (whether Python, Node.js, Ruby, Golang, or whatever else).

It is in their best interest to make .NET open-source, as it allows them to maintain their foothold in the application development community - it _still_ has direct integration with the rest of their products (and thus incentivizes picking MS as a vendor), but can now compete on openness.

You can see something similar for Windows 10, and it being given away for free. Both OS X and Linux are increasingly eating away at Windows' marketshare. By offering it for 'free' to existing Windows users (ie. nearly everybody), they can attempt to win users back, as it is now offered at the same price (in the eyes of the consumer).

Throughout the existence of Microsoft, they have _consistently_ pushed the boundary of vendor lock-in and marketshare, trying to keep it as closed as possible but as open as necessary. The more recent decisions from Microsoft are not surprising to me at all - they are simply the result of a rapidly changing computing landscape. Microsoft hasn't changed, their environment has.

<comment><USER4> > I don't know about that, it all seems fairly logical.

For people dealing with Microsoft for many years... this is the surprising part.

</comment></comment></comment><comment><USER5> In the last 5 years we've experimented with Linux on top of hyper-v a few times.

The basic I/O, compile & runtime performance was significantly inferior to xen & kvm (didn't bench against vmware, phasing it out due to cost), it wasn't worth any effort to even deploy apps for testing.

Therefore I don't see Linux on hyper-v being a compelling option for the cost conscientious technical officer or lead engineer.

<comment><USER6> I'm getting approximately the same CPU & storage performance out of Azure's A0 machine w/Debian8, as from AWS t2.micro instance with spinning rust storage and Debian8 (both are cheapest offer available, and price is quite similar between them).

Network on Azure though is a totally wrecked thing:

\- A0 instance is capped to a miserable 5 megabit/s uplink (downlink is fine);

\- If you want TCP/UDP ports open, you need to open them one-by-one, going through a 2-page wizard with 8 fields in total to fill in for _each_ port you are opening, and then waiting 15-20 seconds for each "change" to be applied. Good luck opening a 1024-port range for your SIP server;

\- You can't open ICMP/GRE/IPSEC or any other custom protocol;

\- There are ton of really weirdly configured network gear between your VM and the Internet - packet drops and private IPs in traceroute, etc...

\- On a plus side, you can enable so called "direct server return" and you will get incoming packets with your public IP as a destination IP; a really nice feature sorely missing on AWS.

<comment><USER7> >A0 instance is capped to a miserable 5 megabit/s uplink (downlink is fine);

I thought it was 10Mb/s?

>If you want TCP/UDP ports open, you need to open them one-by-one, going through a 2-page wizard with 8 fields in total to fill in for each port you are opening, and then waiting 15-20 seconds for each "change" to be applied. Good luck opening a 1024-port range for your SIP server;

...or use the powershell cmdlets and do it in one line

<comment><USER6> > I thought it was 10Mb/s?

Alas... Also, in my experience, throttling is really slow to react, i.e. you get a chunk of data out at 10-20Mb/s, then everything freezes for few seconds until average would drop below 5Mbps, then another speed-up/slow-down cycle. Long-term average is exactly 5Mbps as per their spec-sheet [1].

[1] [http://download.microsoft.com/download/4/1/1/411621F0-D0BF-4...](http://download.microsoft.com/download/4/1/1/411621F0-D0BF-4E44-BAFD-18C7AEA7B6FA/VirtualMachines.pdf)

[2] [https://www.oaklight.us/2014/06/azure-network-speed-quick- te...](https://www.oaklight.us/2014/06/azure-network-speed-quick-tests/)

</comment></comment></comment></comment><comment><USER8> This isn't really new, it's just Red Hat being late to the party. From Jun 6, 2012:

 _" The Linux services will go live on Azure at 4 a.m. EDT on Thursday. At that time, the Azure portal will offer a number of Linux distributions, including Suse Linux Enterprise Server 11 SP2, OpenSuse 12.01, CentOS 6.2 and Canonical Ubuntu 12.04. Azure users will be able to choose and deploy a Linux distribution from the Microsoft Windows Azure Image Gallery."_

[http://www.pcworld.com/article/257073/microsoft_to_run_linux...](http://www.pcworld.com/article/257073/microsoft_to_run_linux_on_azure.html)

Or you could always load your own distro of choice in Hyper-V.

<comment><USER9> Or rather Microsoft desperately clinging on RedHat to make its cloud proposition look commercially legit. I mean, look at that list: the first _two_ items are for SuSE, a distribution that is hardly popular these days, then you have "knockoff RedHat" CentOS and "hobbyist's choice" Ubuntu. I'm surprised they left off Debian, I guess that's still a bit too hippy. In any case, not the stuff of dreams, from a commercial standpoint.

So you can spin it both ways, really.

<comment><USER8> Was simply pointing out the _fact_ that Linux has been on Azure for years, because apparently some people don't know that. Indeed, according to Microsoft: "More than 20 percent of Azure virtual machines run on Linux."

[http://news.microsoft.com/cloud/index.html](http://news.microsoft.com/cloud/index.html)

You're welcome to spin anything you like.

<comment><USER9> Yeah, but "Red Hat being late" is not a fact, it's placing the burden on Red Hat for getting their stuff running _on Microsoft 's systems for Microsoft's benefit_. "Microsoft was late getting Red Hat on board" is the exact same fact with the opposite spin.

No spin would have been "both companies ironed out an agreement allowing their products to be commercially supported when working together, three years after Azure launched support for Linux systems". I know, not sexy.

<comment><USER8> Red Hat could have been one of the first Linuxes on Azure, if it had wanted. But back in 2013, it said: "Red Hat CEO: We don't need Microsoft to succeed" [http://www.infoworld.com/article/2614357/linux/red-hat- ceo--...](http://www.infoworld.com/article/2614357/linux/red-hat-ceo--we-don- t-need-microsoft-to-succeed.html)

I don't see why you're quibbling about "late". It's a _fact_ that it's more than three years later than a bunch of other versions. But hey, you can have your own spin.

<comment><USER9> Note how RedHat didn't say that: if you read the actual article (despite being from InfoWorld):

 _> InfoWorld: Microsoft has a close business relationship with Suse Linux. That seems to be Microsoft's Linux of choice, and the company doesn't seem interested in having the same kind of partnership with Red Hat. Is that a problem for Red Hat?

> Jim Whitehurst: We'd be happy to work on interoperability with Microsoft or > anyone else._

So yeah, Microsoft made a specific choice to partner with SuSE. RH said "whatever". Three years later, an agreement was finally struck between the two.

Did RH "come around"? Or did MS finally recognize SuSE is a losing proposition? You don't know and I don't know, but implying one side took action without having any proof for it is, well, spin.

<comment><USER8> I know Microsoft pretty well, and it would have wanted to support as many versions as possible, within the available time-frame. It obviously didn't _just_ support SuSE, so your implied either/or is just yet more of your spin.

I don't know Red Hat that well (it's a few years since we've talked), but it has a strong focus on its own cloud business (1). It might have seen Azure as a rival to Red Hat cloud services, but that's just my speculation.

(1) [https://www.redhat.com/en/technologies/cloud- computing](https://www.redhat.com/en/technologies/cloud-computing)

BELOW

 _> I have no horse in this, no investment, nothing; I just don't like unsupported bias. Can you say the same?_

If you really don't like unsupported bias, perhaps you shouldn't post comments that reveal so much of it ;-)

 _> Yes, it is "just your speculation"._

You could also cut out the cheap tricks. I referred specifically to the comment on Red Hat's motives, not to anything else.

<comment><USER9> _> I know Microsoft pretty well, and it would have wanted to support as many versions as possible_

That's nice to know and I'm sure everyone always means well, but it doesn't change anything in factual terms. I don't know Red Hat but I'm sure they'd like to support as many cloud services as possible.

 _> It obviously didn't just support SuSE, so your implied either/or is just yet more of your spin._

Dude, honestly, I'm only reading what you linked, with InfoWorld saying MS had a preferential agreement with SuSE. I didn't link that, you did; if it doesn't agree with your view, why did you link it?

Your first list had SuSE (twice), CentOS and Ubuntu, and again I took it at face value, so I don't think I implied anything.

I have no horse in this, no investment, nothing; I just don't like unsupported bias. Can you say the same?

 _> It might have seen Azure as a rival to Red Hat cloud services_

Sure, exactly like Microsoft might have seen Red Hat as a rival to Windows Server in the cloud.

 _> but that's just my speculation._

Yes, it is "just your speculation". That's what I said, and why I responded to your initial comment. Maybe because of insider knowledge you might have, you're interpreting facts in a somewhat biased view. That's fine, but you cannot assume everyone shares this particular view of the facts and spin it as an absolute truth.

IMHO we've said everything that needed to be said so we might as well close it here.

<comment><USER10> SUSE partnered with Microsoft, that's true, before SUSE was bought by Microfocus:

[https://www.suse.com/company/press/2015/suse-is-now-part- of-...](https://www.suse.com/company/press/2015/suse-is-now-part-of-micro- focus.html)

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> For me, this piece was the most interesting:

"Collaboration on .NET for a new generation of application development capabilities, providing access to .NET technologies across Red Hat offerings, including OpenShift and Red Hat Enterprise Linux, which will be available within the next few weeks."

Further development of .NET as cross-platform, not just Windows-based? That could bode well for the stack.

I doubt I'll ever write .NET code again, but this seems like a sensible decision to me.

</comment><comment><USER12> I think this is just ticking a box for Microsoft since I believe you can get RH on AWS. But let's be honest - how many people will perceive any value in stacking a Microsoft technology (.NET) on top of UNIX? Sure if you already have a .NET app, hosting it in UNIX may give you some benefit. But is anyone really going to write an app from scratch with this in mind? I'm skeptical.

<comment><USER13> With their release of CoreCLR[1], which combined with the class libraries, I think there is a lot of reason to look at .NET on UNIX. The implementation includes the same JIT and GC that the .NET framework uses, it just cuts out a bunch of bits that likely wouldn't be relevant to people developing server backends (WPF, AppDomains, etc.).

For server stuff, .NET is now close to the level of openness and compatibility that the OpenJDK enjoys. If you like C# or F# better than Java, there is plenty of reason to switch.

[1]: [https://github.com/dotnet/coreclr](https://github.com/dotnet/coreclr)

<comment><USER12> You may be right, I don't know. I suppose the acid test is when YC companies start posting for front-end developers with C#, .NET and UNIX experience versus what's required today, i.e. either node.js, django, ruby, etc.

<comment><USER14> Why YC companies? There are lots of other startups out there (some of which even using .NET).

<comment><USER12> Ah, great question. I sort of view the YC guys as cutting edge, i.e. willing and able to adopt new and sometimes still changing technology. In contrast to a Fortune 500 shop which in my humble opinion is unlikely to adopt a wholesale change to a new technology.

</comment></comment></comment></comment></comment><comment><USER15> I remember when Microsoft teamed up with IBM on OS/2, so I'd predict that Microsoft comes out with its own brand of Linux within 5 years. That will give them time to learn what they need to include/exclude and support.

<comment><USER16> In the late 1980s, Microsoft's version of Unix, Xenix, was installed on more machines than any other version of Unix.

Radio Shack sold Tandy HD machines running Xenix to business customers. In fact, Radio Shack stores themselves used a POS system running Xenix, up until the mid 1990s at least.

Microsoft sold Xenix to SCO in 1987.

</comment></comment><comment><USER17> Now that is a headline that would have raised a few eyebrows 15 years ago.

<comment><USER18> In 2006 we had a similar headline.

Microsoft partnered with Novell (SuSE Linux), and there was no happy end for one of them (Novell is no more; SuSE Linux once a major distribution next to RedHat is a shadow of its former self). [https://en.wikipedia.org/wiki/Novell#Agreement_with_Microsof...](https://en.wikipedia.org/wiki/Novell#Agreement_with_Microsoft)

<comment><USER19> I remember that one. Many people were pissed off because that partnership included a patents agreement. This was because in the eyes of many, this meant an acknowledgement from Novell that Microsoft was in the right to claim patents infringement of Linux and SuSE Linux was then advertised as the safe distribution. Talk about a sure way to piss off your community.

<comment><USER20> Not just an agreement, but also that 'Novell agreed to pay royalties to Microsoft based on Novell's open source sales'.

[http://www.infoworld.com/article/2654097/linux/the- microsoft...](http://www.infoworld.com/article/2654097/linux/the-microsoft- novell-linux-deal--two-years-later.html)

</comment></comment></comment></comment><comment><USER21> forgetting the cloud stuff for now, this is much more interesting:

"Collaboration on .NET for a new generation of application development capabilities, providing access to .NET technologies across Red Hat offerings, including OpenShift and Red Hat Enterprise Linux, which will be available within the next few weeks."

Xplat .net is coming to RC1 in a couple of weeks (per roadmap: [https://github.com/aspnet/Home/wiki/Roadmap](https://github.com/aspnet/Home/wiki/Roadmap)) and it's exciting to see that RHEL will support it. It makes sense for Microsoft, traditionally an enterprise company on the backend, to partner with a *nix company with, primarily, enterprise clients on the backend.

If nothing else, the toolset microsoft brings to the table will raise all boats on the -nix side IMO.

</comment><comment><USER22> "Unthinkable" This was title of Redhat's comment on Microsoft-Suse partnership.

</comment><comment><USER23> "Linux is a cancer" Microsoft's CEO, 2001 (Steve Ballmer)

Source: [http://slashdot.org/story/01/06/01/1658258/ballmer-calls- lin...](http://slashdot.org/story/01/06/01/1658258/ballmer-calls-linux-a- cancer)

</comment><comment><USER24> who uses redhat ? (im not being sarcastic)

<comment><USER25> Regulatory compliance in various fields stipulates that you have defined responsibilities and support accountability. The net value here is that a vendor like Red Hat is already deployed at companies who comply to the same regulations, so we can all share and leverage best practice documents to satisfy those controls. Even if you had a team of 10 smart Linux engineers, you save time and money by leveraging Red Hat.

In addition, you may also need patent indemnification and reliable security updates (we leaned on Red Hat heavily during ShellShock and others). For example, before I release a Linux image I have a checklist of 450+ items, including things like NIST certification. Red Hat streamlines this process as it has already been certified across the most strenuous of regulatory and compliance environments, and we can reuse much of that work.

This isn't important for a clothing website startup for example, but for aircraft, CT scanners, anything ISO compliant, finance it is paramount to what is being delivered.

</comment></comment><comment><USER26> Microsoft did a partnership like this before with Apple (Microsoft Office) but it didn't turn out so well for Apple. Wondering what the outcome would be like with Satya in the driver's seat.

<comment><USER27> A better comparison would be a situation where Microsoft partnered with a company over an operating system... Like IBM with OS/2 which turned out great, right? haha

Or let's look at when Microsoft partnered with Novell:

[http://www.cnet.com/news/microsoft-makes-linux-pact-with- nov...](http://www.cnet.com/news/microsoft-makes-linux-pact-with-novell/)

The byline from that article is classic! "Former software foes pledge to work together to help Windows world and Linux world interoperate."

Turned out _great_ for Novell, right? Hah! Does anyone use SuSE anymore? It's market is so tiny it's hard to find statistics for it.

Other fun Microsoft partnerships: Nokia, Barnes & Noble, Best Buy, Yahoo, Nortel, Sendo, and probably dozens of smaller companies that came & went or are but a fraction of their former selves.

A more interesting thing to track: How is the partnership with Microsoft working out for Docker? I'm really curious what the heck Microsoft is going to do in the next version of Windows Server to actually support realistic containerization.

<comment><USER26> Thanks for all the examples where Microsoft pulled a Trojan. I totally agree. If Win32 embraces the Linux kernel calls to make Docker work without virtualization, is there a possible Embrace, Extend, and Extinguish plan? Or are businesses smart enough to avoid a repeat of ActiveX?

Microsoft made a pact with Sun back in the day where they would support Java. If memory serves, Microsoft supported a Java that only worked on Win32 using J/Direct calls that natively supported Win32 instead of being OS independent like most Java apps.

</comment></comment></comment><comment><USER28> Did/will Red Hat hire Miguel de Icaza next? First systemD, now this. Sounds like Suse/Novell.

</comment><comment><USER29> Here is a headline I never thought I would ever see. I guess from a business perspective this makes a tonne of sense. Red Hat is a massive player in the Linux market.

</comment><comment><USER30> Well, at least it explains systemd.

/s

<comment><USER31> Hahaha, came here to say exactly that.

So, Red Hat is the next Nokia now?

</comment></comment><comment><USER32> Embrace, extend, extinguish.

<comment><USER33> Oh... you heard about that?

</comment></comment><comment><USER34> So next version of Windows getting systemd?

Systemd would be right at home in Windows.

</comment><comment><USER35> Awesome. I can't wait to receive my Redhat voucher.

</comment><comment><USER36> A cloud provider that offers Linux and Windows, this is cutting edge.

<comment><USER37> Sure, it's not cutting edge, but it's one of a bunch of signs recently that Microsoft has turned over a new leaf in the last few years.

Visual Studio's page now mentions Git, a GPLed piece of software built for Linux kernel development. They've come a long way from "GPL is cancer!"

<comment><USER38> And there's git-tf: [http://www.microsoft.com/en- gb/download/details.aspx?id=3047...](http://www.microsoft.com/en- gb/download/details.aspx?id=30474) a command line git-alike that will work with a TFS server.

Not nice to use, in my experience, but it is officially from MS.

</comment></comment></comment><comment><USER39> Considering fewer enterprises trust Windows 10 with every new headline about how it spies on you, I guess they had no choice but to offer Linux as an option as well.

Also relevant to "Microsoft's love for Linux":

[https://plus.google.com/+SimonPhipps/posts/c636Vp4kKbf](https://plus.google.com/+SimonPhipps/posts/c636Vp4kKbf)

<comment><USER8> Windows 10 uptake is remarkably good on Windows 10, perhaps because enterprises don't fall for click-bait headlines.

Microsoft Says 1.5 Million Enterprise Users Have Deployed Windows 10 [https://redmondmag.com/blogs/the-schwartz- report/2015/08/ent...](https://redmondmag.com/blogs/the-schwartz- report/2015/08/enterprises-deployed-windows-10.aspx)

Bank of America CTO Talks Windows 10 Plans, Security [http://www.informationweek.com/strategic-cio/executive- insig...](http://www.informationweek.com/strategic-cio/executive-insights-and- innovation/bank-of-america-cto-talks-windows-10-plans- security-/d/d-id/1321721)

 _" Reilly promised a Windows 10 upgrade is on the horizon for Bank of America. "We're looking to adopt as early as we can," he said. Such a project will be a massive undertaking given the sheer multitude of Windows devices within the organization, but he appears optimistic about the process."_

I was a Microsoft sceptic, but Windows 10 has me convinced [http://www.theage.com.au/digital-life/digital-life- news/i-wa...](http://www.theage.com.au/digital-life/digital-life-news/i-was-a- microsoft-sceptic-but-windows-10-has-me-convinced-20150817-gj1e5y.html)

 _" Then, last week, at an event hosted by CIO magazine, where I gave a keynote, I spoke to a group of Chief Information Officers of large and midsized companies about technology trends. The vast majority said they were buying Microsoft's Surface Pro tablets for their users and upgrading desktop machines to Windows 10."_

See also: Configure telemetry and other settings in your organization [https://technet.microsoft.com/en- us/library/mt577208%28v=vs....](https://technet.microsoft.com/en- us/library/mt577208%28v=vs.85%29.aspx)</comment></comment>


Applications open for the summer 2014 YC batch - <AUTHOR> http://ycombinator.com/apply.html?s2014 <comment><USER2> "How far along are you? Do you have a beta yet? If not, when will you? Are you launched? If so, how many users do you have? Do you have revenue? If so, how much? If you're launched, what is your monthly growth rate (in users or revenue or both)?"

The above question popped out at me this year.

I don't know a lot about the groups that YC accepts, except what I read in the occasional press-release or HN post. But I have noticed a pattern: it seems that many (and perhaps most?) of the YC companies I've read about recently had already launched and found success prior to YC, sometimes years prior.

This pattern might only indicate that I'm reading about those kinds of YC startups, and that completely new companies that launched post-YC don't get as much of my attention.

Nonetheless, I've found this pattern to be at odds with what I thought YC was about — pre-launch investment and mentoring of brand new companies.

It makes sense to invest in people and companies that have already found success. Even if such companies pivot to something completely new, they have a track record and a user base to work from.

Has YC made an informal pivot itself, to funding companies that have already launched and found traction rather than in great teams of founders that probably aren't even incorporated yet?

<comment><USER3> There's a well known and clearly visible trend that more institutional (i.e. not friends and family) investment is moving later stage for "normal" software businesses.

The reasons are well known: the cost of developing software (at least the initial prototype) have dropped far enough that a great many people can afford to build a prototype themselves.

Further, the cost of market validation has also dropped enough such that a great many companies can achieve __some __market validation without outside capital.

Put together, it's a reasonable expectation that a dedicated entrepreneur will put in both the minimal time and money to both build a prototype and prove that real customers exist who view the solution as valuable.

However, the cost of building a big business is still high. Specifically, ramping up development, hosting, marketing (team and spend), sales, etc. still costs enough money that outside capital helps.

This last point is key and answers the question of "why would I raise capital if I did all of the work of building a prototype and getting my initial customers?".

Lastly, the ultimate goal is to succeed. There are a number of different paths to success, but one of the worst failures is not outright failure of a company.

If you think about the possible outcomes of a business, there are basically 3:

1\. Complete failure...business shuts down

2\. Moderate success...$2 million, $5 million up to maybe $25 million

3\. Success... $25 million plus with the ultimate goal of doing 9 or 10 figures a year

#1 sucks. Maybe more without venture capital as its your money you lost, but it's good in no way.

#3 is great whether or not you get venture financing. Depending on your financing, you'll walk away with $5 million or more personally.

#2 can either be a wonderful success, or the worst failure (worse than #1). #2 is great if you bootstrapped. If you bootstrapped, you'll walk away with $5 million or more in your pocket. If you grow to $10M+ in revenue, then you're financially free.

However, #2 sucks if you raised significant capital. Most likely, you hate the company because you'll walk away will nothing even though the company has had some success. Investors will hate the company because the investment is sucking up time, focus and will never be a winner.

In this light, waiting to raise capital until a company is a little bit more mature is a boon for entrepreneurs. If you have a #1 then kill it and move onto the next opportunity. If you have a #3, then go raise (or don't).

But, if you have a #2 then you know you can get rich by bootstrapping, which will prevent you from making the mistake of raising capital for a non-venture fundable business.

<comment><AUTHOR> _There 's a well known and clearly visible trend that more institutional (i.e. not friends and family) investment is moving later stage for "normal" software businesses._

Actually the trend in the venture business is actually the opposite. The biggest change in the last few years has been the increase in pre-series A investments, both by "super-angels" (which are structurally mini VC funds) and existing VC firms.

<comment><USER3> Hi pg, thanks for the reply.

I may have done a poor job of wording as I used the word stage which has a specific meaning. What I meant was the first investment (seed) has moved from idea stage to prototype.

With the clarification, do you think it is accurate?

<comment><AUTHOR> I haven't noticed any change. We've always hoped people would at least make some sort of prototype. That's how one explores ideas, or at least ideas about software.

</comment></comment></comment></comment></comment><comment><USER4> There's a longer blog post about this coming, but @zmitri and I applied to YC a total of six times before we got in.

Along the way we learned a lot about why YC is important, what it does for you (and what it doesn't) and why the application process is one of the best ways to think through creating your startup.

We've been really lucky to have great alumni help advise us and give us feedback on our applications (yes, all of six of them, thanks Jason Freedman!).

So hit me up if you want me to look over anything, it's the least I can do: email@example.com

EDIT - I may be slow on the reply until after demo day ;)

<comment><USER5> Six times? Really? At some point it becomes pathetic, you know. Though portrayed as, yc isn't some sort of holy grail you have to touch before death. But six times, man, that must have been three years at least? Props for not giving up. Still pathetic though.

<comment><USER6> Pathetic is the perfect way to describe me.

Especially when you factor in that as an immigrant I had to leave America 3 times, once because I was diagnosed with cancer, and haven't legally been able to take salary from my own company in 2 years.

<comment><USER7> zmitri, i upvoted but sometimes words are needed - keep up the good work!

</comment></comment></comment></comment><comment><USER8> Is it just me, or is the "Request for Startups"[1] page in serious need of updating?

For example, are "Things Built on Twitter"[2] and "iPad Applications"[3] still a valid way to build a $XX billion company in today's world?

[1] [http://ycombinator.com/rfs.html](http://ycombinator.com/rfs.html)

[2] [http://ycombinator.com/rfs3.html](http://ycombinator.com/rfs3.html)

[3] [http://ycombinator.com/rfs6.html](http://ycombinator.com/rfs6.html)

<comment><AUTHOR> We should probably retire RFS 3.

<comment><USER9> Have the Requests for Startups produced many good applications/startups? Any insights on identifying problems for startups to work on?

</comment></comment></comment><comment><USER10> Here's my application for the last batch:

[https://www.penflip.com/loren/yc- application](https://www.penflip.com/loren/yc-application)

Wasn't accepted, but it might help anyway.

If anyone's curious, no, I didn't lose all hope and give up when YC rejected me. Third time being rejected, and it hurts less every time :) Still going strong on this idea, refuse to quit.

</comment><comment><USER11> When I applied for YC, the application itself was very valuable because it asked focused and aspirational questions which forced me to think about what I was trying to create and why it was important to other people. I also went into the process telling myself that while it would be great to get in, it was not the end of the world if it didn't work out.

Remember that the success of your product/company ultimately comes down to you and the market you are in and not necessarily the money that is invested or the often nebulous social status that might come with getting into such programs. What matters is creating something which is of service to and valuable to other people.

</comment><comment><USER12> When we interviewed for the current cohort, we were asked to show up early for the interview, so I travelled to Mountain View each of the 6 interview days to talk to other startups. As a canuck in the valley for the first time, it was an eye-opening experience.

It's really interesting to hear what everyone is working on, and it's a rare look at the YC investment thesis. Also interesting to see what these companies have gone on to achieve, YC or not. I was most inspired by the stories of everyone who had travelled from foreign countries to pitch.

<comment><AUTHOR> We don't recommend applicants do this. Though we don't say anything when it happens, we do notice, and it makes us slightly less likely to accept such groups.

<comment><USER12> I appreciate the info, sorry. I asked permission on the first day and tried my best to be polite and respectful to others.

<comment><AUTHOR> If you asked permission then it was fine. But some groups do it without asking, and if everyone came every day, we'd be out of space.

</comment></comment></comment></comment><comment><USER13> Is this the "next batch" that sama will be presiding over? Or is the batch after this one? [http://blog.ycombinator.com/sam-altman-for- president](http://blog.ycombinator.com/sam-altman-for-president)

<comment><USER14> I would _guess_ this batch (Summer 2014). They said next batch and it was announced prior to the opening of the summer batch.

"become president of Y Combinator starting next batch"

</comment></comment><comment><USER15> Just a few tips: [http://blog.perfectaudience.com/2013/04/26/want-to-ace- your-...](http://blog.perfectaudience.com/2013/04/26/want-to-ace-your- ycombinator-interview-be-relentlessly-empathetic/)

</comment><comment><USER16> Is YC still doing 'no idea' applications?

<comment><AUTHOR> No, we stopped taking those several batches ago.

<comment><USER17> Does this mean that the concept proved unsuccessful?

<comment><AUTHOR> Yeah. There weren't many no-idea applications and on the whole they weren't good. One batch I forgot to enable them, and we just let them stay dead.

<comment><USER18> should i apply ? am from Nigeria .. Thanks

<comment><AUTHOR> Sure. We have founders from I believe 22 different countries in the current batch.

<comment><USER18> Please , also our technical co-founders re from pakistan and belarus respectively .. So am thinking how can we go about the video thing. Should we merge the video together?

Thanks

</comment></comment></comment></comment></comment></comment></comment><comment><USER19> Have any African countries ever applied or been accepted to YC?

Will people that plan to move back home or have home (non American) markets as their primary markets be considered?

It would be interesting to see how Sama's batch differs from PG's

<comment><AUTHOR> No African countries have applied or been accepted, but we've accepted several people from them. IIRC none were making things for specifically African markets though.

We're certainly willing to fund companies building stuff for their home country and that will return to it after YC. GoCardless is probably the most prominent.

<comment><USER20> This raises an interesting question: should a country applying to YC use the regular application form or the nonprofit one?

</comment></comment></comment><comment><USER21> On April 15, we'll invite the groups that seem most promising to meet us in Mountain View between April 24 and 28 ----

\-- This is too less time for companies based outside of the US to arrange cheap tickets, visas etc.

</comment><comment><USER22> Practical question: Are we supposed to submit only one form per group or multiple? Because the introductory explanation talks about a group submission, but on the form itself there are fields that are explicitly personal: e.g. "Please tell us about the time you, fedor91, most successfully hacked..."

Addendum: If there are any noob mistakes you want to point out, I'd very much appreciate it because it's the first time we're applying.

</comment><comment><USER23> Excited to almost apply again!

</comment><comment><USER24> pg, it seems like switching from non-profit to for-profit doesn't work.

<comment><USER25> Just like the real world

</comment></comment><comment><USER26> What is the policy on applications for businesses that compete with existing YC companies?

Do you accept them? Do you have conflict of interest or confidentiality policies?

Do you ever have conversations with existing YC companies along the lines of "We had an application recently for product X, you should do that."?

<comment><AUTHOR> The YC FAQ answers the first three: [http://ycombinator.com/faq.html](http://ycombinator.com/faq.html)

As for the fourth, of course not.

<comment><USER27> Since YC alumni are now doing the preliminary application reviews, is there a process to avoid an unintentional conflict of interest (ie, an alumnus viewing a potential competitor's application)? Perhaps prescreening by YC staff and assignment to specific alumni for review?

Please forgive me if the question seems redundant. I am reluctant to even ask as YC has a reputation of integrity. However, the mantra that "ideas are worthless" causes concern that perhaps precautions might not be taken to avoid such a scenario (because by implication, it would seem this could be viewed as a non-event). My apologies if I have misunderstood the views of YC on the matter.

<comment><AUTHOR> We tell the alumni explicitly that they're obliged not to disclose what they see in applications, and that if they see an application that competes with them they should click on the "skip" button provided for this purpose. We can't watch over their shoulder as they do it, but we're careful about which alumni we pick as reviewers, and there has never been any problem so far.

<comment><USER27> That seems reasonable. Thank you for the explanation.

</comment></comment></comment></comment></comment><comment><USER28> This will be my first time applying. Both very excited and very nervous.

<comment><USER29> Good luck!

</comment></comment><comment><USER30> Will YC consider an application from a team of two founders and the first employee holding stocks? The third guy is a programmer and a good friend.

<comment><AUTHOR> Sure.

</comment></comment><comment><USER31> Echoing other YC people: More than happy to help with reading over applications and giving feedback! email@example.com

</comment><comment><USER32> How many non-profits does YC hope to fund in this cycle? Is Watsi the only public example?

<comment><USER33> Zidisha and Immunity Project have both launched publicly from this current W2014 batch. There are more.

Also, we don't set quotas at YC. If we think your non-profit would be a good fit for YC, we'll accept you.

</comment></comment><comment><USER34> Come on, hat trick of rejections!

</comment><comment> k-mcgrady How much does it hurt your application if you apply as a sole founder?

<comment><USER35> I got an interview as a sole founder in the S13 batch so it's not impossible. Have a working product, or progress, to show you can make stuff happen despite being on your own probably helps.</comment></comment>


3D CSS Solar System - <AUTHOR> http://codepen.io/juliangarnier/pen/idhuG

<comment><USER2> Hmm -- all I'm seeing is a white screen of death on my (admittedly overloaded) chrome instance.

<comment><USER3> It takes a bit to start 'playing'.I think I experienced the same as you. Try reloading? It's very well done I'd say.</comment></comment>