Ubuntu testing Snappy for Desktop Next - <AUTHOR> https://plus.google.com/+WillCooke/posts/AxfoU3N1Ezo <comment><USER3> I don't see what all the hate is about. The developer documentation[1] looks really interesting.

1\. [https://developer.ubuntu.com/en/snappy/guides/packaging- form...](https://developer.ubuntu.com/en/snappy/guides/packaging-format-apps/)

</comment><comment><USER4> Before anyone gets up in arms about apt going away for the next release... no.

Ubuntu Desktop Next is Canonical's playground for testing new ideas. 15.10 Desktop Next will use Snappy for sure, and IIRC 16.04 will be an LTS that _may_ use Snappy if 15.10 DN works out exceptionally well. Snappy's insufficiently mature yet, IMO, and the effort to convert packages without a Snappy target for some equivalent of `alien` seems a bit gargantuan.

<comment><USER5> [https://launchpad.net/deb2snap](https://launchpad.net/deb2snap)

<comment><USER6> So this lets you convert debian packages into a snappy friendly format?

Is that why you're posting this link? Does it have a more specific meaning in this context?

I'm just curious and wish you had posted at least a short explanation with the link.

I don't like feeling stupid fellow human.

<comment><USER5> Colin's comment touched a few different topics but in the end he talked about the effort of converting existing Debian packages to Snaps, and even mentioned Alien, which is an old converter of packages formats. This deb2snap is still WIP but it works fine.

</comment></comment></comment></comment><comment><USER7> In case you're wondering what Snappy is... [http://developer.ubuntu.com/en/snappy/](http://developer.ubuntu.com/en/snappy/)

</comment><comment><USER8> Could we please get the title changed, please? It's wrong in at least 4 ways.

\- This isn't new, snappy has been announced for a while now.

\- It's not primarily for desktop -- snappy was created for the needs of "cloud" operating systems; it just happens also to be useful on the desktop.

\- It's not new: CoreOS and RedHat Atomic use the same principles and preceded snappy.

\- It's not for desktop, it's for "desktop next", which is an Ubuntu test distribution that almost nobody has heard of.

<comment><USER8> A good alternate title is hard. "Ubuntu testing Snappy for Desktop Next" might work. Probably best to revert to the original title with an Ubuntu thrown in for context, "An important notice for Ubuntu Desktop Next users".

<comment><USER9> Thanks! We used your first suggestion because it's more informative.

</comment></comment></comment><comment><AUTHOR> I feel that this has been needed in Linux for a long time BUT it has to be something that is picked up by the majority of the distros similar to the way SystemD has been picked up.

It seems so much better to have a user space container system for packages and a separate DEFINED standard config area.

</comment><comment><USER10> So how will they push security fixes to the bundled dependencies?

</comment><comment><USER11> The title or the link needs to be change, I click on it to learn about Snappy's features, was disappoint.

<comment><USER12> meh, just read the source code (go) [http://bazaar.launchpad.net/~snappy- dev/snappy/snappy/files/...](http://bazaar.launchpad.net/~snappy- dev/snappy/snappy/files/head:/snappy/)

</comment></comment><comment><USER13> I don't get it... What's wrong with apt? I wish everyone just used one package manager.

<comment><USER14> Do an upgrade or install an application on your laptop ... while that is in progress pull the battery out. Package manager breaks.

Atomic commits, rollbacks, and the big one, decoupling the OS from the applications. Developers can just publish their apps directly on their own schedule.

<comment><USER15> > Developers can just publish their apps directly on their own schedule.

As a Debian user I do not see that as a feature, I see that as a risk.

One of the biggest reasons I use Debian is because package management is done the way it is, but a lot of people complain because the packages in Debian Stable are out of date. I think the disagreement here isn't on whether the software in Debian Stable is up to date, it's actually about what the definition of stable is. Many people prefer bleeding edge. For me, I prefer Debian's definition of stable, and I don't want the developers of the software being able to push it to my systems on a whim because on rare occasion developers have been known to use their users as their testers, and this is a risk I want to minimize.

Regarding your other points, could you expand a bit on decoupling the OS from the applications? Everything else sounds like it could be a feature request against apt, do you have a moment to file them? It sounds like you've got some good ideas.

<comment><USER16> > Many people prefer bleeding edge. For me, I prefer Debian's definition of > stable

Having maintained Debian, Fedora, and ArchLinux machines over the past few years, I've found ArchLinux has vastly improved in terms of stability recently while still maintaining close to bleeding edge releases. I don't see it get enough credit for this. This must be the result of having a high quality team of package maintainers who know how to push out new packages properly.

Fedora on the other hand also promises bleeding edge - but for years I found it broke far too often, and yum is certainly not helpful in those situations.

As a result I no longer see it as a "bleeding edge vs stable" dichotomy. You can have your cake and eat it too if you a) choose your software stack wisely and b) use a distro with a smart team behind it. Switching to the Debian boxes always feels like stepping back 2yrs in a time machine, which has a high cost for a person who likes to keep up with progress in software development.

<comment><USER17> Hm interesting.. do you ever feel like you are missing out on any programs while on ArchLinux? It seems that when people want to support Linux they often only choose to support Ubuntu/Debian.

I'm definitely tempted to give ArchLinux a try now though

<comment><USER18> The great thing about Linux is that if some software supports one distro, then there's always a sane way to get it working on other distros.

<comment><USER17> Ah! Well, I suppose I was always afraid of having to mess with OS related stuff instead of getting things done but I think it's about time I learn. Thanks for the information!

</comment></comment></comment></comment></comment></comment></comment><comment><USER18> I'm really excited, actually. Atomic upgrades is great! I just hope the underlying system is deterministic/declarative because as it is, my install gets a little less stable every time I do an upgrade.

</comment><comment><USER19> it amazes me that everyone still uses ubuntu. It's not the 'stable' operating system that everyone thinks it is. I mean, it is stable, but not more than the dozens of other distributions that have far more up to date repositories with more packages, and are more lightweight.

I'm far from a distrohopper. I don't think they're all so different. But when considering the minute differences between linux distributions, I find that ubuntu generally has more disadvantages.

<comment><USER20> >> I find that ubuntu generally has more disadvantages.

Examples please?

<comment><USER19> It's just a lot of little things... It's not that ubuntu is bad, it's just that, well, there is no reason to use ubuntu when there are distributions that do much more much better.

\- PPA's are perhaps the most terrible way of providing more up to date packages than what is available in main repos. Typically they'll 404. You're also trusting some random person on the internet to maintain your system. I much prefer arch PKGBUILDs.

\- You'll commonly find out of date packages. As a developer this is particularly frustrating. I don't want to just unpack an archive to my rootfs. I also don't want to wrestle debuild just to get a newer library. I understand that LTS support is important, but it really isn't that important.

\- The whole amazon fiasco from a few years back ticks me off. Yeah, I know you could disable it. It's just that they did that by default in the first place.

\- upstart sucks, and in spite of the fact that they're moving/moved, they hung on too long because they are stubborn.

Let me ask you this: What are the advantages of ubuntu over other linux/gnu distributions?

<comment><USER21> _What are the advantages of ubuntu over other linux /gnu distributions?_

Googling for "how to install _random linux software_ on Linux" will generally get either an Ubuntu package, or somewhat working instructions for getting it mostly going on Ubuntu.

On other Linux distributions (even major ones like CentOS/Redhat) you'll often be on your own.

<comment><USER13> Pretty much this.

Many times I can't even compile a package from source after trying for for an hour, but the author happens to have a .deb file around and everything works smoothly.

</comment></comment></comment></comment></comment><comment><USER22> This sounds awful, but what is Desktop Next? Simple google search is unenlightening, I'm asking the lazy-web here...

<comment><USER12> Mir + Unity8 [https://www.youtube.com/watch?v=6mCPxkPqiUc](https://www.youtube.com/watch?v=6mCPxkPqiUc)

<comment><USER23> Ok so I don't mean to be a hater but that demo looks like I'm supposed to be impressed by stuff that apple had in os x in 2001, as well as recent iOS additions in 2007. It's 2015 and this is just beginning development now.

Diff priorities, diff resources, blahblahblah. But come on -- there ARE quite a bit of man hours since 2001 in gnome, kde, X11, Mir, compviz, Maemo, etc. Enough that recognizing Apple started doing things right so long ago that a unified response to at least copy let alone improved would have yielded significant results at least by 2010.

</hate>

<comment><USER24> Are you referring to nextstep ideas like the app bundle?

This quote in particular sounds like an app bundle:

        Creating snappy Ubuntu apps is much easier than traditional packaging,
        simply bundle all the files you need in a single package and publish, then
        users can download it instantly. Snappy packages can be statically linked
        and include their own copies of any file they need.

<comment><USER23> No I was referring to the UI work with Mir shown in the YouTube video linked by the parent.

</comment></comment></comment></comment></comment><comment><USER25> Yes!! Another soon to be half finished project from Ubuntu that breaks compatability with everyone else. They don't seem to have the devs to finish the projects they have, and they keep removing the Debian and ubuntu community in favor of in house development. They are half finished writing a full new userland, but most of the time it's just broken shot that never quite works and never quite gets finished.

<comment> vezzy-fnord So not too different then from another major Linux software vendor that cannot be named, except significantly more honest about catering to its own specific direction, and thus less popular and less adopted by the broader developer community.

</comment></comment><comment><USER26> Ubuntu will eventually fade away, Canonical will run out of money.

Have you ever noticed every project they have: Mir, Phone, Unity, Bazaar, Launchpad

Are all virally licensed, lack portability and drive people away in droves?

Ubuntu has the widest gap in users : developers, yet they're funded.

Now:

\- So long Debian compatibility. That's the one _principal_ thing Ubuntu had going for it.

\- Exodus / dam-breaks: I see Mint moving to Debian, as well as many {K,L,X}ubuntu developers. _" Enough"_.

\- It's GPLv3. So there goes a lot of developers / potential for portability. Just like Mir. You can't write modules for GPLv3 software. Commercial vendors will be scared away from investing in it. What do you really gain by using such a restrictive license? Can you see it means we have to rewrite everything over again from scratch in a permissive one?

</comment><comment><USER27> this seems stupid

apt-get is great, so why change whats great?

<comment><USER26> To be fair, from a _packagers_ perspective, it's hell.

[https://wiki.debian.org/IntroDebianPackaging](https://wiki.debian.org/IntroDebianPackaging)

[http://www.debian.org/doc/manuals/maint- guide/index.en.html](http://www.debian.org/doc/manuals/maint- guide/index.en.html)

Compare that to gentoo / archlinux / _BSD ports.

If they actually _simplified* their system and made it permissively licensed and POSIX portable, maybe people would bite.

But GPLv3 is just a way to make suckers develop for Canonical for free - <USER2> the end of the day - you have _no rights_ over your own contributions and they have _100% ownership_.

<comment> vezzy-fnord GPLv3 makes no such impact. Now, if they had a CLA (which Canonical's projects infamously often do), you could make that argument.

<comment><USER26>
      GPLv3 makes no such impact. Now, if they had a CLA (which Canonical's projects infamously often do), you could make that argument.

[http://www.canonical.com/projects/directory](http://www.canonical.com/projects/directory)

      The following projects are covered by Canonical's contributor agreement. If you want to contribute to any of the projects below, please contact the project contacts listed in the third column.

Sanppy:: (sic), snappy

</comment></comment></comment></comment><comment><USER28> This looks to be a package manager that will have the concept of an "app store"[1]. Has anyone found how someone can build and namespace their own app store?

From a brief read-through of the docs it looks like the namespace of applications is "owned" by Ubuntu which means it is difficult to add external sources. For example it is `snappy install vim` instead of `snappy install ubuntu.com/vim`

[1] [https://developer.ubuntu.com/en/snappy/guides/packaging- form...](https://developer.ubuntu.com/en/snappy/guides/packaging-format-apps/)

<comment><USER29> I know Cydia for iOS does the "app store" thing, paid apps and all. Don't really know how that's implemented, but other than that, it's APT based.

<comment><USER30> Cydia has repositories just like Debian, but there are multiple independently operated ones in a default install; they accept proprietary software .debs, and don't take as active a role in shaping the system into a coherent whole as a standard Linux distro (to avoid clashes, packages get reverse-DNS style names), but they do cooperate with each other and with saurik (the developer of Cydia) - I'm sure other people could tell you more about what that looks like. They manually review package submissions before adding them, but they don't have the resources to subject every one to an Apple-like testing procedure. Adding custom repositories is exposed in Cydia's UI and is common. (Among many legitimate uses, this is also commonly used to add repos which host pirated copies of paid Cydia packages and App Store apps. Oh well.)

Cydia has some additional functionality compared to stock APT:

\- Purchases - are basically handled as a separate layer; they're the only part of Cydia which is centralized, and are done through a web UI hosted by saurik. IIRC, once the package is purchased, Cydia's version of APT sends a device identifier header when requesting .debs, and repositories have to check with saurik's server to decide whether to return 403 or not. By itself this is pretty easy to crack, so many popular packages add their own DRM (yuck).

\- In addition to the short textual descriptions, package metadata can contain a "depiction" header containing a URL which Cydia will display in a web view when the user navigates to the package. This is intended to (a) allow each repo to design their own UI and maintain independence, (b) provide richer package info more flexibly than a fixed description UI would allow, e.g. including videos, and (c) allow repos to display ads, which they need to survive as payments aren't handled through them.

(I originally had a somewhat long paragraph here on how utterly horrid a UX this is in practice, but it's not really on topic, so I'll leave it at that.)</comment></comment></comment>


OCR Using the New Open Google Cloud Vision API (Ruby) - <AUTHOR> http://pedroassuncao.com/ocr-using-the-new-open-google-cloud-vision-api <comment><USER2> Have you tried that with captchas already? I would laugh my ass off if this would work with the "hard" fallback reCaptchas as well.</comment>


Show HN: ProtectedText.com - The safest site on the web for storing your text - <AUTHOR> http://www.protectedtext.com/#a <comment><USER2> this'll be useful for people who do not have their own site, where they can put files in a password-protected directory.

-bowerbird

</comment><comment><USER3> this is pretty cool! is there a length limit?

<comment><AUTHOR> no, tested and work up to 250 000 chars :)</comment></comment>


Was Marx Right? - <AUTHOR> http://blogs.hbr.org/haque/2011/09/was_marx_right.html

<comment><USER2> Maybe, but even a broken clock is right twice a day. The thing about this article is... you can take almost any prediction(s) from the past, map them onto current day events, stretch logic and semantics in torturous ways, and come up with a seemingly compelling argument that "X was right, see!" You could do it for Nostradamus and have an article that is as enlightening as this article.

Are there issues with our current economic and political situation? Yes. Do we need Marx to fix them? I personally say "no." We need to think hard about what the proper role of government is, create a truly free market, and then allow whatever individuals, organizations, collectives, etc. that emerge, to layer on top of that base and build the social structures that they see fit. IMO, of course.

<comment><USER3> I don't think it's fair to compare Das Kapital and The Communist Manifesto to the quatrains of Nostradamus.

<comment><USER2> Fair enough... I wasn't really trying to compare the two, just using a pointedly over-the-top example to illustrate a point. And the Nostradamus stuff is something that everyone is familiar with. And it's the first thing that came to mind. :-)

</comment></comment></comment><comment><USER4> I've lived in communism, and something that one should not forget is that communism is the home of the mediocrity. The things that pushed the society forward and from wich resulted a multiple field development were not communist at all.

</comment><comment><USER5> Communism IS the perfect society. Everyone working for the betterment of everyone else, of society as a whole. NO selfishness, NO greed, NO evil. However if a _single_ person does something selfish, the entire system falls apart.

In this world, it doesn't take very long to find that one selfish person, and I'd argue it's harder to find someone who won't eventually do something selfish, intentional or not, and bring the system down.

So of course Marx was right, in a perfect world that isn't ours, he's right. But in our world, we simply can't live up to those ideals so we have to work for a system that better accommodates how society actually is. Right now, that's government-regulated Capitalism. If someone can find a better one, I'm all ears.

</comment><comment><USER6> This is a strange discussion. The topic of this article is not communism but Marx's predictions that industrial capitalism would become unsustainable. The author clearly states he does not see communism as the solution.</comment>


What startup employees fail to understand about equity - <AUTHOR> https://www.keyvalues.com/blog/what-startup-employees-fail-to-understand-about-their-equity <comment><USER2> > At most startups, you make less than bigco wages, but have the hope/promise > of stock options. But, in ~94% of cases, this is a terrible financial > tradeoff.

Ain't that the truth...

</comment><comment><USER3> This is really great content and was super useful as I'm considering offers</comment>


Opendoor – Sell your home the minute you're ready - <AUTHOR> https://www.opendoor.com/ <comment><USER2> Here is a great article on the subject:

"Why hasn't the internet cut out the agent, even as houses sell to internet companies with the click of a button? In part because consumers aren't really trying to inject any startup pizzazz into the largest (and most complex) transaction of their lives."

[https://slate.com/technology/2018/06/redfin-zillow-and- opend...](https://slate.com/technology/2018/06/redfin-zillow-and-opendoor- cant-disrupt-real-estate-agents-and-may-not-want-to.html)

</comment><comment><USER3> "Your house is not in a neighborhood we support right now,..."

Well, gee, given that I live in the middle of the hottest market on the continent, you might want to mention how limited your scope is _before_ dupes like me waste time navigating through the process.</comment>


Project Natick – Underwater datacenter with live cameras - <AUTHOR> https://natick.research.microsoft.com/ <comment><USER2> It's intended to run without maintenance for five years. That's been tried before. InfoSeek did it in the early days of search engines. They didn't repair machines; the entire module of some number of racks was replaced at end of life. But that idea seems to have fallen out of fashion. That Microsoft is trying this again is significant.

It's running in dry nitrogen. That has advantages over air. No corrosion, for one.

</comment><comment><USER3> So where does the heat go? Judging from the FAQ my assumption is it's transferring it into the surrounding water? How many of these before it starts becoming a local ecological problem?

<comment><USER4> There is dramatically more heat capacity in the ocean than in the atmosphere. Many power plants reject heat directly to the ocean, and clearly they do produce a local hotspot, which is much argued over by ecologists.

There can be some valid local ecological concerns. If it emits into a spot which is particular important to some species it can become a problem. It can also create ecological activities, where some species congregate around the outlet because they want the hotter water. This isn't necessary good, but again, it's a local occurrence.

Globally, using ocean water for cooling is almost always ecologically better, simply because it's more efficient than alternatives that are either constrained in terms of the usable volume flow of water, or must use a less efficient medium for heat transfer. Eventually, all heat we produce will be radiated into space, but if an activity indirectly produces greenhouse gases, then it warms by a very large multiplier compared to its direct heat production.

<comment><USER5> You seem to have a good understanding of this subject. Could you explain to someone who is much less well-versed, why it matters if some species has an important area that it can't go to anymore and, say, stops producing in that area? (Goes somewhere else.) I mean is it some great tragedy not to have some species in some particular place?

I want to kind of add a disclaimer to my question. At the limits of course I am not questioning ecological conservation - the Earth would both suck if it only had humans and our crops and livestock in it, and be thrown completely out of equilibrium so that it would suck for humans too. But I assume that the effect you're talking about is where over time some tiny little place becomes bad for some species, so they stop going to just that one place. Likewise you mentioned the opposite effect where "It can also create ecological activities, where some species congregate around the outlet because they want the hotter water" but this doesn't seem like some objectively great thing - wow, we have all these fish hanging around what amounts to a thermal spa for them, fantastic - but more like just a neutral fact.

This is my impression, that it is what it is, so I'd just like an explanation of the strong moral component or why this is important - since you seem to understand this. (Again, I can do part of the reasoning myself since obviously I wouldn't choose a barren lifeless planet with only humans and stuff we eat, on it, I'm just having trouble extending this reasoning to tiny local perturbations.)

<comment><USER6> Not an expert by any means, but do dive some. I think one concern is that not all life can easily move or be recreated. Coral reefs probably being the biggest one there. They have huge biodiversity and are incredibly important in the health of the oceans but are also incredibly fragile and sensitive. It isn't hard to imagine a few degrees difference in water temperature affecting these and they don't just "pop up" again somewhere else, they are often thousands of years old.

Most of the ocean is pretty uninteresting though, so I would hope this project is looking at installing these datacenters in deeper waters (where as you said the life can more easily migrate) rather than the shallower waters that reefs inhabit.

</comment></comment></comment></comment><comment><USER7> Few companies could and would throw money at a project like this. Environmentally friendly datacenters are needed.

<comment><USER8> Dumping heat in the ocean is not environmentally friendly. That heat could have been used to heat up buildings.

<comment><USER7> Almost all the energy we have, ultimately comes from the sun. As long as we can covert energy in a clean way, there is nothing inherently environmentally unfriendly about spending energy on one thing that could have been used for another thing.

<comment><USER9> Yes, but we need to be careful when we discharge excess heat. The sudden addition of unnatural heat can be an issue for ocean ecosystems. [https://en.wikipedia.org/wiki/Thermal_pollution](https://en.wikipedia.org/wiki/Thermal_pollution)

</comment></comment></comment></comment><comment><USER10> Seems like it would be really annoying to service if something breaks and needs to be replaced.

<comment><AUTHOR> I'd imagine they would want to build this cheap enough to just replace the entire thing when something goes wrong. Anything else seems very impractical.

<comment><USER11> It fails in place, then you replace the internals every five years as a single unit. After 20 years, you recycle the whole thing.

</comment></comment></comment><comment><USER12> They're going to save soo much money not having to lease space in major cities along the coast because of this. Hardware is pennies on the dollar in comparison.

<comment><USER13> I'd assume you still need a small datacentre close to it, i.e. on the cost, for routing, backup generators, maintenance, etc.

<comment><USER14> "Small" being the operative word. A room vs. a building.

<comment><USER13> Well, that depends on your definition of small. This is what I believe the diesel generators of a typical datacentre look like (+fuel tanks):

[http://www.dchuddle.com/wp-content/uploads/2014/08/Backup- ge...](http://www.dchuddle.com/wp-content/uploads/2014/08/Backup- generators_LC.jpg)

</comment></comment></comment></comment><comment><USER15> I'd imagined that it was a shipping container on floats, but it's a pressure vessel (keep that seawater out) filled with nitrogen (to stop corrosion).

</comment><comment><USER16> So many fish visible on the live cameras. I suppose the container surface has become a source of food for the local ecosystem now.

<comment><USER17> If you drop anything interesting he ocean it will become a rich ecosystem.

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

</comment></comment><comment><USER18> Is it just me or does that website load insanely slowly?

<comment><USER19> Wow, yeah. I counted out 16 seconds. I'm using umatrix, so I was starting to think I'd just blocked something needed for the site to load by default, but decided to give it a bit just in case.

</comment></comment><comment><USER20> Still don't see the benefit of submerging and dealing with all of the engineering challenges that causes.

At 240kw of power consumption, that level of energy density must be using some sort of forced air/water cooling system.

So if you're already pumping/circulating the water from outside, what is the benefit of submersion? Why not just float it on the surface?

<comment><USER21> > So if you're already pumping/circulating the water from outside

»Natick datacenters consume no water for cooling or any other purpose.« (From the FAQ)

I guess if you're able to get the heat to the outer walls, then being submerged in water should take care of the cooling for you, without the need to pump in ocean water and circulate it.

<comment><USER20> Recirculating the water wouldn't be considered consuming.

They do have flat plate heat exchangers, commonly used on boats and either in direct contact with the water, or bonded to the hull, that have a closed loop cooling system to conduct the heat to the water.

But submersion of the entire vessel isn't needed for this to be effective, just sufficient surface area in contact with water to effectively disperse the heat.

There are many safer ways to do this than submersion. I will do the calculations later but I don't believe even the entire surface of the submersed data center would be sufficient to disperse the heat using natural convection and conduction. It takes 1000s of feet of submersed(or buried) tubing to effectively reject the heat in common geothermal/lake source home cooling systems, and they are typically in the 60,000 btu range(~18kw)

A submerged heat exchanger in a closed loop cooling system seems like a much better solution, if the reason for submersion is cooling related.</comment></comment></comment>


In Fake Universes, Evidence for String Theory - <AUTHOR> https://www.quantamagazine.org/20150218-string-theory-only-game-in-town/ <comment><USER2>
        Because the strings that are said to quiver at the
        core of elementary particles are too small to detect —
        probably ever — the theory cannot be experimentally
        confirmed. Nor can it be disproven: Almost any
        observed feature of the universe jibes with the
        strings' endless repertoire of tunes.

In that case, it's not science. At most, mathematics.

<comment><USER3> Yes, that is what Peter Woight at Columbia keeps saying on and on: [http://www.math.columbia.edu/~woit/wordpress/](http://www.math.columbia.edu/~woit/wordpress/). It is a sad world in which scientists dare (in the XXI Century) call "science" something which cannot be either verified of falsified...

<comment><USER4> Very true. At most we can say that these guys found a mathematical theory that is consistent with what the universe looks like. I imagine that there could be an infinite number of such theories, if you are creative (and good at math) enough.

<comment><USER5> Maybe.

What if you considered (mathematically) the set of ALL theories that satisfied certain basic criteria (requires a small number of assumptions compared to the number of outputs it produces, doesn't change "arbitrarily" at some point in time... things like that) and which also matched the currently accepted physics of general relativity (in the limit of large sizes) and the currently accepted physics of quantum mechanics (in the limit of small sizes). And what if, when considering that set of theories, you were able to prove that any theory matching those criteria had to be equivalent (isomorphic) to a certain theory.

(This is like saying that the theory of basic algebra using equations and the theory of curves on graphs using geometry can be proved equivalent (isomorphic) by defining how to graph an equation and how to derive the equation for a graph. Once you've done that, it hardly matters whether you think the algebra is the "real theory" or the graphs... they are both equivalent and thus both equally "real".)

Suppose you found that, and thus proved (mathematically) that string theory was isomorphic (in certain key ways) to any theory that could apply to our universe, assuming that quantum mechanics and general relativity are roughly accurate. Why, then you WOULD actually have demonstrated that string theory isn't a "waste of time", that it is a useful way to make predictions about our universe.

And if I understand the article, this proof is precisely what these researchers are attempting to do. So far, they have constructed such proofs for much simpler universes than ours and a way of slowly working their way up to proving it for our universe.

<comment><USER4> That seems unlikely, because for that to hold they also need to show that there is nothing better than relativity and QM to describe the known universe. Then, you are back to square one, finding a better unifying theory, or even worse, proving that no such theory exists.

<comment><USER6> I don't think that you've really understood the sort of limits that the previous commenter (and the original article) were trying to describe. To a very good approximation, QM _does_ describe our universe: any "better" theory must necessarily be equivalent in the appropriate limits (to many decimal places of precision, I might add). In the same way, relativity _does_ describe our universe, and any "better" theory must be equivalent in the (different) appropriate limits. As I understand it, that is the level at which those are being assumed in this argument. The whole point of the theorems that these groups are trying to prove is that _any_ "better" theory that matches both of these limits must be equivalent to string theory.

<comment><USER4> I think that would be even harder to achieve than a simple unification of QM and Relativity. Who knows what kind of phenomena we don't know about? There could be millions of theories that are consistent with current physics and still possible, given particular observations. In a few words, nobody can anticipate the kind of phenomena that could be observed by future physicists.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> I used to work with Mukund (Rangamani) and Veronika when I was doing my PhD at Durham Uni (2004-2008) -- it's great to see the work they and others are continuing to do on this. It formed the basis for my thesis ([http://etheses.dur.ac.uk/2906/](http://etheses.dur.ac.uk/2906/)), and Anti de-Sitter spacetimes allow for some great visualizations (I spent much time working in Mathematica to produce the one shown in the slide here: [http://bethnalgreenventures.com/2013/08/05/guest-blog- from-m...](http://bethnalgreenventures.com/2013/08/05/guest-blog-from-moon- landings-to-collaborative-science/)).

You also learn something new everyday - I'd never come across the term "Fisheye Universe" for AdS space before! :)</comment>


Rap Genius Launches App That Could Wean It Off Google's Teat - <AUTHOR> http://techcrunch.com/2014/01/28/rap-genius-app/

<comment><AUTHOR> The problem with the 'wean it off Google's Teat' is that the drop in visitors documented via Quantcast shows that Rap Genius is extremely dependent on Google for most traffic. Even if the app appeals to hard core users, how does this address the huge base of infrequent visitors, who come by Google and won't have / use this app?</comment>


How the MiG-15 grounded the U.S. bomber fleet in Korea (2013) - <AUTHOR> http://www.airspacemag.com/military-aviation/the-jet-that-shocked-the-west-180947758/ <comment><USER2> There was a post in HN some weeks ago where a comment claimed that US fighters were always superior to Soviet fighters.

I didn't have the energy to dispute it then, but this piece does a pretty good job. The MiG 15 was very much comparable to the Sabre, and the MiG 17 and MiG 21 were better than the F-100, F-105 and the F-104 (ha!)[1].

It was only when the F-4 became available that the US could match the MiG-21 (which was one of the reasons that the Israelis mostly flew Mirages until the mid-1970s).

[1] eg, [https://en.wikipedia.org/wiki/Lockheed_F-104_Starfighter#Ind...](https://en.wikipedia.org/wiki/Lockheed_F-104_Starfighter#India.E2.80.93Pakistan_Wars)

<comment><AUTHOR> I think the consensus was that the Mig-15 had the slight edge on the F-86, but US pilots were better trained than North Korean pilots. As it turns out Soviet pilots occasionally flew in Korea and gave US pilots a run for their money.

Mig-15,17, and 19s were giving F-4's a run for their money in Vietnam until Phantom pilots quit trying to turn with the smaller Migs and just used their giant J79 engines w/ afterburner to fight vertically. I believe the Phantoms always had the advantage but it was obscene to lose a 2 crew multirole state of the art fighter like an f-4 for every one or two outdated Mig-15s that were shot down.

The Mig-21 was a point defense interceptor intended to zoom up to altitude quickly and intercept US bombers. It was a reasonable fighter because it's wing. Delta wings don't have a sharp stall angle like other types of wings, they just start piling on drag as the angle of attack increases. The closest US fighter is terms of design is probably the f-104, but the Mig-21 was really in the same class performance wise as the f-4.

The Mig-29, SU-27 and on are solid first class fighters and probably have the edge on the F-16 and F-15.

<comment><USER3> The training thing is addressed in the article, as near as historians can tell when facing soviet pilots the kill ratio was 1.4 to 1 (favouring the Sabre) but rose to 9:1 when flying against non-soviet pilots.

> The Mig-29, SU-27 and on are solid first class fighters and probably have > the edge on the F-16 and F-15.

As a pure dog fighting aircraft possibly but as an air intercept fighter I think the F15 (with the except of the F22 and the EF2000) is still the thing to beat.

<comment><AUTHOR> Probably true. The f15 has shot down a satellite, landed without one of it's wings, and has never lost a fight. Not bad for something that first flew 43 years ago.

<comment><USER3> The F15 is an interesting story, it was created in part as a reaction to the terrifying intelligence they had about the Mig25, they went all out to create something to beat something that turned out not to exist in a sense (The Mig-25 existed of course but it's actual characteristics where very different to what intelligence suggested, it was big and fast and that was about it, if it ran at full speed the engines ate themselves).

In doing so they created the best air intercept fighter of it's generation and a design that is still considered premier-tier, the US consider it obsolete because it lacks stealth but not every country has fully adopted the stealth mantra (the Russians never really did or possibly didn't have the manufacturing capability).

It will be interesting to see if they continue it's development, there where nominal plans for new variant called the Silent Eagle which adopted some radar reduction measures and upgraded it's electronics to state of the art, I think once you except stealth that we are at a point with fighters where the airframe is secondary to the avionics and weapons, they all have the capability to kill the pilot from G forces so maneuverability isn't really an issue anymore.

It's interesting to see what the Indians have done with their Mig-21 upgrade program, with modern avionics and weapons it's reputedly as potent as a middle-bloc F16 which considering that's a 60 year old air frame design is incredible.

<comment><USER4> its

<comment><USER2> No, "it's" is correct. It is a contraction of it is, used appropriately in this context.

[http://grammarist.com/spelling/its-its/](http://grammarist.com/spelling/its- its/)

<comment><USER4> > The Mig-25 existed of course but it's actual characteristics where very > different to what intelligence suggested ...

You're saying this should read "... but it is actual characteristics ..."?

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER5> In case you haven't seen them, here are Greg Goebel's articles on the fighters talked about in the article.

F-86 Sabre:

[http://airvectors.net/avf86.html](http://airvectors.net/avf86.html)

MIG-15:

[http://airvectors.net/avmig15.html](http://airvectors.net/avmig15.html)

</comment><comment><USER6> Hint: The bomber the US used as the backbone of the Strategic Air Command wasn't used in Korea.

<comment><USER7> Convair B-36?

<comment><USER6> Yep. Not surprising the B-29 would be quickly outclassed.</comment></comment></comment>


Automakers Cut Fleet Sales, After Uber Zaps the Industry's Profits - <AUTHOR> http://fortune.com/2017/08/01/automakers-fleet-sales-car-rental-agencies-profits/ <comment><AUTHOR> It genuinely feels like the automakers are within a few years of their innovator's dilemma moment, and I'm curious how each will react. Even with self-driving cars, it's likely that the volume of new car sales falls as utilization improves.

I reckon they could branch out to other areas where they can take advantage of their self-driving car experience and manufacturing and supply chain logistics. I reckon now is the time to pour R&D into modular chassis, different form factors (like 1 and 2 person pods) and possibly even acquiring earth moving equipment and farm robotics innovators. There's tons of opportunity in the space for autonomous wheeled vehicles besides passengers, and I'm curious if the automakers will capitalize on that opportunity.</comment>


Why a "Billionaire" Wealth Tax Would Hurt the Working Poor and the Middle Class - <AUTHOR> https://fee.org/articles/why-a-billionaire-wealth-tax-would-hurt-the-working-poor-and-the-middle-class/ <comment><USER2> The regulations implementing such a law will see to it that the tax kicks in for anyone earning over $100,000, with billionaires just being at the top of the scale. In other words, it won't start at $100 million. That's how tax regs in the US always go.

</comment><comment><USER3> Don't tax good things, tax bad things. Price in externalities. Seeing success as a more harmful externality than climate change is hard to understand. We should focus on taxing carbon way more and less on jealous mimetic rage.

</comment><comment><USER4> If Sen. Sanders succeeds in enacting such a tax, the target population would move much of their wealth offshore. Stock-wealthy entrepreneurs such as Bezos would probably relocate company headquarters to safer countries. Wealth is a fluid thing. Probably better results could be achieved by cutting wasteful government spending, freeing billions of dollars for other purposes.

<comment><USER5> "Wealth is a fluid thing" is quite a euphemism for "tax evasion"

<comment><USER4> Call it what you want. People will find a way to hold onto their money.

<comment><USER6> If it's money that should have been paid as tax, it's not their money. It's stolen.

<comment><USER4> Lol, some would argue that taxation is a form of theft.

<comment><USER6> I mean, sure, they can argue that, but legally they're wrong. Legally, tax evasion is a crime, and the money they've stolen by not paying their taxes isn't their money.</comment></comment></comment></comment></comment></comment>


Ask HN: Do I need to go to college? - <AUTHOR> I'm a senior in high school and am deciding between attending UT Austin for CompSci or skipping that and moving to San Francisco to work at a startup.
I have about 3-4 years experience in web development, and 1-2 years Android development. I have worked at four tech companies. I'm currently paid 31k as a front-end web developer at medium sized company while being the lead Android developer for an established startup on the side.
I have a pretty well fleshed out github account and a long list of completed side projects.
I don't particularly enjoy school nor debt, and I'm not convinced a Computer Science degree would be fully utilized in a career in web and android development.
Will startups take a fresh high school grad seriously? Is it a mistake to not go to college despite my experience?
What would you do?
EDIT:
Thanks for the advice, everyone. I really appreciate it.
A few follow up questions:
With my qualifications, how likely is it that I could land an internship in San Francisco this coming summer?
I'm currently learning many new (to me) technologies, ramping up my open source activity, and writing a blog. Is there anything else I should to do increase my chances? <comment><USER2> Go to school. You'll have an uphill battle for the rest of your life if you don't. Your resume will always be viewed with a bit of suspicion if you don't have a degree, you'll be expected to do more to prove there aren't gaps in your self-education. That's if anyone looks are your resume at all, many places HR won't bother without the degree. A github profile and a network of people who know your skills are both huge assets to finding work, but the lack of degree will always cause difficulties.

Plus, right now you're doing web and android dev, but maybe you'll take a class that will open your eyes to other areas. Maybe you'll find out you love compilers or computer vision or parallel computation.

There are a lot of people on HN who love to be contrarian or want to beat the system by proving they could accomplish X without a formal education which they believe is more about credentials than actual education. But the truth is, not having the degree is just going to make your life a lot harder, plus you might miss out on learning things you wouldn't self-study.

<comment><USER3> > _" you might miss out on learning things you wouldn't self-study."_

This is true: it would be wise to be honest with yourself on this point. I've personally read more textbooks since graduating than I did in college; it's not impossible, but it is very very hard to stay focused in self-study.

<comment><AUTHOR> I completely agree. I know that I won't be able to self-teach everything that I would learn in college.

<comment><USER4> This is maybe not true given the right parameters. Typically, people "self- study" on a whim. Probably in the evenings or on weekends. They go for about 30 minutes and then quit, saying, "I feel good about this, I'm going to study like this 3x a week."

And then they utterly faily, because self-study is not one of their pre- established habits.

If you make a schedule mimicking a college curriculum (during the weekday, with a lunch hour, 15 minute breaks, etc) like you would with an actual class, and use the "tuition money" to pay instead for a good desk with ample room for notes and a solid reading light, then I bet almost anyone could do a college education on their own.

It's all mental, and in my experience, mindsets can be changed with the right training. It's like learning to brush your teeth, except you're an adult now.

<comment><USER5> The bigger point though is that college isn't all mental. If you went through college hunched over a desk studying, and doing nothing else, then sure, you can replicate that at home.

</comment></comment></comment></comment></comment><comment><USER6> Crazy advice: go to college for something harder/more challenging than CS, and then use that to complement your programming skill later.

CS was mostly a waste of time for me. I worked through a lot of SICP in highschool and was teaching myself Haskell after learning a lot of web development stuff.

However, I don't regret the formal mathematics classes that I've taken, as well as some interesting electives (like an algebra/number theory course that focused on nothing but using and attacking RSA, which was a joint CS/Math course). Taking Algorithms was good for me too, even if I could already hack on harder stuff than my classmates. So, I major in something other than CS.

Keep in mind that you also might decide that you hate working in programming altogether, as I did, so being a generalist might be a good idea. Major in math, philosophy or a foriegn language (or whatever else interests you). You'll learn, have a possible back-up and escape with a degree, if you need one.

I think college has become diluted to some degree (I rail against it a lot, even moreso now that my old university did away with English 101 for a lot of majors because it's "too hard"), but you can always challenge yourself. I think people with a passion always can outdo their degrees, especially in CS, but I think viewing your life as: "waste my time at college" xor "go live in the valley" is a really bad idea at this point.

</comment><comment><USER3> It depends on your goals - no one can give you advice on the path you should take if they don't know your destination.

Do you want to be an entrepreneur? Do you want to build a product and company, work for startups, or work in enterprise software development?

If you want to work in big business (a decent and potentially low-stress path if you want a good wage, despite what people here might tell you) you should probably go to college. If you don't know, you should probably go to college. If you know you

I did go to college, and I'm glad I have a significant understanding of philosophy, writing, and chemistry that I would not otherwise have discovered. That said, it was a complete waste of time and money for me. I could be making the same amount I am now, and I would have many thousands more in savings.

Degrees are filters for many low-level positions, but no one has asked me whether I have a degree in years. At this point, it's all about experience and skills. The exception might be Fortune 100 companies that still seem to care a great deal about your formal education. Despite having a degree, I wouldn't want to work for these companies anyway. It shows a type of hierarchical rigid thinking and structure that I would like to avoid.

If you do decide to skip college, I'd strongly advise you to work on CS theory AND the supplementary skills you would have learned in college. Pick up and read some textbooks on the basic subjects you would have studied. Learning more about programming and development is good, but I see value in diverse knowledge.

<comment><AUTHOR> Thanks for the advice.

>Do you want to be an entrepreneur? Do you want to build a product and company, work for startups, or work in enterprise software development?

I want to be an entrepreneur, running my own company on organic growth rather than VC money. I don't have a problem with being acquired but I don't want to be using other peoples' money.

But before I attempt that I want to work as an employee of startups to gain business experience, making mistakes and learning from them while still earning a salary.

</comment></comment><comment><USER7> I've been very successful as a programmer without having gone to college. However, the first few jobs were tough to get. Going to college will make your first jobs easier.

<comment><USER3> Excellent TL;DR here.

</comment></comment><comment><USER8> College serves three or four purposes:

1\. Teaches you how to get things done in a structured environment 2\. Teaches you how to think more abstractly 3\. Teaches you social expectations of a professiona/intellectual environment 4\. Gives you an 'achievement' with a brand that allows you to say "I did this."

Some college is good. I think you can achieve most of the above without finishing college. You can achieve all of the above without going to college.

<comment><USER3> I disagree with points 1-3.

1- Undergrad college experience consists of homework and test, perhaps with the occassional group project or presentation thrown in. This is so far removed from what non-academics do at work that it's hilarious.

2- On what grounds do you say that college teaches you abstract thinking. In truth, studies have found that college does no such thing for most majors.[1] The problem is that most colleges and universities are more interested in graduate students and research. Almost every test I took in college was multiple choice - widely regarded as the least-effective way to teach critical thinking. There are so many people in your classes that the professors don't have time to do anything but put you through the degree mill, memorize-and- repeat style.

3- My college was basically a slightly more intense version of high school. See (1). I do agree that you learn about an intellectual environment, but many teachers have never worked in an actual professional non-academic environment in their lives. Your PhD in computer science knows computer science, but don't count on them being able to teach you how to overcome organizational obstacles.

[1] [http://www.insidehighered.com/news/2011/01/18/study_finds_la...](http://www.insidehighered.com/news/2011/01/18/study_finds_large_numbers_of_college_students_don_t_learn_much) [http://www.insidehighered.com/news/2013/05/20/studies- challe...](http://www.insidehighered.com/news/2013/05/20/studies-challenge- findings-academically-adrift#ixzz2TpwU3Ysa)

</comment></comment><comment><USER9> I left college early to start my career. In this market it's pretty easy to "make it" without a degree. However there are things a degree gives you that most people don't think about. Part of this might be because i'm on the East coast where education is a big part of who you are, but I've experienced a huge social stigma. There's an extra burden on you when you don't have a degree. That stigma will impact you professionally, but also socially. You'll want to hang out with people who you view as your peers. The thing is that most of those people went the standard route. I've found the easiest way to cope is to just not bring it up. When it does come up, I've had good friends change the way they talk to you. I'm always straight up with my bosses, but with friends and coworkers it depends.

Secondly, more important then what you learn (though what you learn is important) is the network you build. There's a saying, A players hire A players, B players hire C players and so on. Have you ever wondered who hired the B players? Usually its B players who got lucky. A lot of those B players are like us. You probably want to work with other A players, but they all met in college, and when one goes to a new company the rest of their posse follows. So that recruiter who's getting you a job is probably going to get you into a B role if you're good, but you're not going to be working with people who are at the top of their game. If your goal is to be the best you can be, you need to work with the people who are the best.

4 years is a big part of your life, but trust me. I wish i would have made the full investment. It would have made life easier.

</comment><comment><USER10> NO NO NO NO NO NO!!! There are only three fields that require a college education: law, medicine and engineering. Furthermore, college educations in America are grossly overpriced. You will have a degree that doesn't get you anything more in 4 years than working your ass off will get you 4 years from now, plus you'll have loads of debt. DO NOT WASTE YOUR TIME, TALENT OR MONEY ON COLLEGE!!!

If you want a long, reasoned argument, drop me a line.

<comment><USER11> I went for a few years and completely agree with this, you'll learn as slow as the rest of the class, with arbitrary restrictions all over the place; it's an increasingly less effective relic of the industrial age, don't waste your time.

<comment><USER12> How do you assume someone will "learn as slow as the rest of the class"? I am currently in college and while the pace is that of the slowest person it does not mean that you cannot learn more than them. Actually, I like going slower. It gives me more time to focus on my skill development and at the same time I can help my peers with their issues (which is great if I already overcame the same issue!). College has taught me to become more patient, to find love of others through knowledge, and to work hard.

Maybe it was a waste of time to you, but I hardly think that giving someone advice to skip college because YOU think its a waste of time is a bad decision. Are you sure you didn't miss a few things while you were there? Might want to reconsider.

<comment><USER13> To add to your point about going slower: You can also attend your professors' office hours and dig deeper into the subjects your classmates are forcing you to learn so slowly. Depending on the course, they'll often have additional reading you can do on any given subject being covered. As a bonus, your professors will love you.

<comment><USER12> Great point. As someone who was more of an introvert until recently, my relationships with professors and students helped propel me outside of my social fears. Both of those relationships are outstanding for future opportunities to any student that works for them.

</comment></comment></comment></comment></comment><comment><USER14> Go to school. UT has a good enough program that you'll be able to learn something from someone there, and it'll be a fun four years. You don't want to look back at 50 and say, "Man I wish I had 4 years of academic freedom and good times"

Yes, you can get a job without it. Yes, you are qualified even now, though making more code visible will help.

Once you go the no-college route, you're pretty much locked in to word of mouth job searches from here on out. If you're good enough, it won't matter.

The single best programmer I ever met dropped out of college to program full time. He was already programming 12 hours a day for love, it just didn't happen to coincide with his assignments. He will never need to job search - word of mouth will carry him until he dies. If that's really you, consider going straight into the working world. If not, consider school.

</comment><comment><AUTHOR> Both of my parents are professors so I've had a lot of pressure to choose to go to college but I really appreciate everyone's input on this. I think the best decision is to go to college while simultaneously building side projects, contributing to open source, doing freelance/remote work, etc.

I have a follow-up question, however:

With my qualifications, how likely is it that I could land an internship in San Francisco this coming summer?

I'm currently learning many new (to me) technologies, ramping up my open source activity, and writing a blog. Is there anything else I should to do increase my chances?

<comment><USER15> Build a professional network. Go to tech events at UT and career fairs. Get to know professors, alumni and your peers.

</comment></comment><comment><USER16> _I 'm not convinced a Computer Science degree would be fully utilized in a career in web and android development._

Right now, you can build what you know. School will show you how to build things you don't know.

</comment><comment><USER17> If you are intelligent, have opinions and can justify your opinions, most people will take you seriously. Whether its a mistake or not depends on you. Are you completely set on working in tech? College for most is a time for exploration and you will miss out on this. Also, not having a degree precludes you from many careers outside of tech (investment banking, consulting, professional careers in law, medicine, etc). That being said, if required, you can always go back to school later.

</comment><comment><USER18> You should go to schoool. It may sound dumb, but it's a hiring filter at lots of established companies and you'll be defending not having a degree for the rest of your career if you don't.

It doesn't take that much effort to skate through on B-C's, and you can keep doing professional dev on the side.

<comment><AUTHOR> >it's a hiring filter at lots of established companies and you'll be defending not having a degree for the rest of your career if you don

I agree, it's essentially putting a handicap on myself for the rest of my life.

Do you think four years of full time experience and networking wouldn't outweigh a degree?

</comment></comment><comment><USER19> "Need".. Consider "must" versus "should". Must? No. Should? Probably.

For extra credit, consider "can't" versus "won't", and cases in which "can't" is used to mean "won't".

</comment><comment><USER20> There was a similar thread on this topic here: [https://news.ycombinator.com/item?id=6142978](https://news.ycombinator.com/item?id=6142978).

Let me add my thoughts:

1\. In this current climate, your lack of a college degree will not affect your hiring chances. Blue chip tech companies like Apple, Microsoft, Amazon, Google, and Facebook care slightly more, but even then, four years of quality work experience will actually, in my opinion, put you ahead. I get the feeling that when people on this thread talk about HR, they are talking about the job recruiting processes at other non Goog/Apple/Msft/Amz/Fb firms that are not as software-focused. Those firms in my experience are a lot more meritocratic. I didn't have a college education when my resume got through Apple's recruiter filter, and when I got an in-person interview with Amazon.

2\. However, the current job climate in SV is quite unique. The job market is so hot that, as you can see in the linked thread, people with 1 year of experience can get 120k job offers as web/mobile developers (take into account that SV is very expensive to live in). The central question is: what is the job market going to look like in the future? If the market crashes in the next 2 years, not only will you have a hard time finding a job, but so will even those with CS degrees (by no means am I saying that those with CS degrees will be ahead in that case).

3\. I think there is a good chance of you getting a summer internship in the coming summer. Do you have any family in the Bay Area that you could stay with? Make sure it is a paid internship - unpaid internships are generally correlated with low quality.

4\. There are other non-tangible reasons to go to school: the social experience, meeting girls (or guys), etc. If you're a 18/19 year-old guy it can be quite hard to date in SV working at a startup, esp. since everyone your age is in school. It's for this reason that I chose to go to school.

5\. _Consider a compromise (see linked thread):_ Get a great internship over the summer, preferably with a well-known startup or tech company. Do well and ask for a full-time offer, which will allow you to bypass the normal interview process. Defer admission to UT Austin for 1 year (a so-called gap year, you'll have to look into their admissions policies more closely or contact the admissions office to see if that is allowed - also see what kind of deadline you have for declaring that you're deferring). Work for a year, and at the end of the year, evaluate this again.

<comment><AUTHOR> Thanks for the link.

1\. That's good to hear.

2\. I am a bit worried about that, which is why I want to take advantage of the opportunity now rather than four years from now when it might not be available.

3\. I do have family to stay with there.

4\. That's definitely true but I personally value money/opportunity/career to dating.

5\. My plan right now is to do exactly that. I am a bit worried about how a gap year will affect my scholarship opportunities though.

<comment><USER20> Some scholarships will let you defer, others will let you apply the next year - talk to them about that.

</comment></comment></comment><comment><USER21> You have 30-50+ years of being forced to work. Go to college while someone is willing to send you.

Internships at web startups are a fool's game. You can be freelancing while going to school, making money, and gaining valuable experience.

</comment><comment><AUTHOR> These probably don't factor in but here are some more details about my background/credentials:

SAT is 2040 (not superscored)

Top 7% of my class

#8 in the nation in web design for BPA.

<comment><USER22> With those scores I doubt you will have much trouble in school. And if you are in-state for UT-Austin I doubt it is too expensive.

You may just want to do android and web dev now, but nobody knows what will be important 10 years from now. The skills you pick up in college, as well as the credentials, may prove to be useful.

<comment><AUTHOR> >if you are in-state for UT-Austin I doubt it is too expensive.

I am in-state and I have some money in savings so I could probably manage it well.

>nobody knows what will be important 10 years from now

That's one of my fears about going to college. Perhaps it's irrational but I have this feeling that I'll miss out on prime opportunities which might not be available after I graduate.

>The skills you pick up in college, as well as the credentials, may prove to be useful.

I definitely agree with you on that. If I ever want to get into more rigorous software development like machine learning, searching, etc. college would be very valuable.

<comment><USER23> Something that no one has mentioned here, you will have a HUGE amount of free time at college. Far, far more than you will have if you go get a job.

If you are more interested in starting/continuing to run your own projects than working on someone else's, then I would- without a doubt- go to school.</comment></comment></comment></comment>


Show HN: Reactive Docker UI Made with Meteor - <AUTHOR> https://github.com/djedi23/meteor-docker

<comment><AUTHOR> You can pull it from docker.com (see the github for the instructions) and test it. If you want to share any suggestions or ideas, just add a comment. Thank you!

</comment><comment><USER2> Looks nicely done. Congrats.

<comment><AUTHOR> Thank you</comment></comment>


Hobby kernel and userspace, built mostly from scratch - <AUTHOR> https://github.com/klange/toaruos <comment><USER2> Back when I went to UIUC the SIGOps chapter had a "Roll Your Own Operating System" series (mid-90's)[1]. I'm glad to see they are still doing interesting things.

[1] Still available: [http://www.acm.uiuc.edu/sigops/roll_your_own/](http://www.acm.uiuc.edu/sigops/roll_your_own/)

</comment><comment><USER3> This is amazing! I've been dying lately feeling an overwhelming sense of disappointment with modern day OSs and their UX. To the point where I've wanted to start to play around with making my own.

Could anybody point me in the right direction? I'm a NodeJS web developer HTML/CSS guy. What would be the shortest/fastest path to me being able to write my own entirely custom UX?

Preferably something I could do in HTML/CSS/JS and be able to run on a desktop/laptop/phone. Thanks.

<comment><USER4> If you want to create your own complete graphical rendering system you could look into writing a replacement for X11. You could look at the source of tinyx to help you get started. Note that the 'tiny' x source is 5mb of plaintext.

You could also look at building a graphical tool-kit (think GTK/QT) that can be used to render windows and their styling.

Finally, you could look at building a window manager with a bunch of applications which look the way you would like it to. This is probably the most achievable goal, but it also offers you the least flexibility with your rendering.

A couple of other points: \- I would definitely recommend targeting a non-mac *nix environment. My understanding of the situation is that on Mac and Windows their is little support for external renderers and basically none for custom window managers. \- Most people would consider JS is to be a pretty bad language to write one of these systems in. You will be able to use JS as the end user application programming interface if you like (a la Gnome 3), but you will likely have a tough time writing any of the three systems mentioned above in pure JS. HTML and CSS will likely only be useful for the front-end that you expose to the end users.

Finally,

> What would be the shortest/fastest path to me being able to write my own > entirely custom UX?

In the field of hobby OS/systems programming the 'shortest and fastest' route is a very bad attitude to take. Building anything in this area takes time and patience, if you skim on either of these you likely won't get far.

I hope this is helpful -- good luck! Sam

</comment></comment><comment><USER5> Is ToAru-OS a reference to raildex?

<comment><USER6> I would love that. But "to aru" also actually means something in Japanese, which I would translate like, "there is an". Disclaimer: I definitely am not an expert on Japanese.

It's actually kind of hard to translate concisely, IMO the phrase that best captures the meaning of "ToAru-OS" is "There exists an OS". But it's kind of awkward.

If we used the Raildex translation, ToAru-OS would be "A Certain OS".

<comment><USER7> Sorry for going off-topic here to the thread, but ...

As someone studying the language, can you explain what the と portion of the name means? I am aware of the ある (有る) portion, "to exist", and that と is being used here to represent a clause, eg "Xと言った" (X said), "Xと思った" (X thought).

But in this case, there's nothing _before_ とある, so why say と at all in this case? Why not just say あるOS?

<comment><USER6> I think it's stylistic. The anime series (To aru majutsu no index) uses the same style of "to aru <noun>" instead of "<noun> to aru". It reminds me of Latin, where you can adjust the position of phrases in the sentence for emphasis or rhythm.

Personally, I think of the "to" as emphasizing the specificity of the phrase, if that makes sense. It's not just that "an OS", it's this _specific_ OS that's being referenced by "aru".

<comment><USER7> Ah, most interesting. Didn't think you were allowed to ever move "X to <verb>" to "to <verb> X", but great to know that this happens. Thank you for the explanation!

</comment></comment></comment></comment></comment><comment><USER8> Anyone with this type of hobby kernel experience, how hard would it be to build the "Ruby on Rails" or "NodeJS" of kernels?

If hard, why so difficult? I'm more referring to a theoretical reason, rather than practical.

Practical Reasons: \- drivers are required \- C/ASM is hard (ie lack of contributors) \- different hardware architectures need to be supported. That part I get.

Why in theory can you not have an operating system framework that allows people to "relatively easily" build a custom kernel (instead of using Linux) the same way something like Go allows me to "relatively easily" build a custom HTTP server (instead of using Apache)?

<comment><USER9> You can look at OSkit as one attempt to do this. I think the overwhelming reason its not common is that no one wants to build an OS. If they do it's for the educational experience not practical use. This means hobbyists aren't interested in just using a framework.

<comment><USER10> I am not sure what exactly is meant by "Ruby on Rails of kernel". Probably "an opinionated framework to build your own kernel". In this case OSkit is probably the best answer to the question. Maybe look at micro- and exokernels.

<comment><USER9> I think another problem is that an OS is not analagous to a website, it's more analagous to a web framework. And it's not like there are any framework building frameworks floating around

</comment></comment></comment></comment><comment><USER11> Hehe, I have talked to Kevin on irc before about his custom compositor. He hangs out on the freenode irc channel #osdev sometimes, iirc. Really nice dude. I am very surprised this hasn't already been submitted here before. :)

</comment><comment><USER12> He would spend so much time in the UIUC ACM office working on that thing. Pretty impressive for an undergrad ;)

</comment><comment><USER13> I found the Bim editor interesting; particularity for the simplicity of its implementation.

</comment><comment><USER14> how does it provide the opengl driver?

<comment><USER15> "The following external libraries and tools are retrieved during the build process: ... Mesa - Implementation of OpenGL (only the software rasterizer is available)."

From the readme</comment></comment>


Ask HN: "Do you have to be open to unethical behavior in order to be succesful?" - <AUTHOR> <comment><USER2> It's worth pointing out that certain normal business practices can feel unethical to us (programmers) because of conditioning.

For instance, a good deal in business is one where you all a good for more than it costs.

If you were a freelance developer, that might mean charging a large amount for a feature of high business value because you know the client will pay, even though it doesn't cost you much to do.

Another aspect is information asymmetry. In the above instance, lieing about how many hours the feature would range to implement would be unethical for sure. But not saying how long it would take - charging for features and keeping the cost to implement to yourself - probably not.

Then we get to practices like subscriptions you expect people will forget to cancel (see every consumer facing sas), or building a platform with the intention it will be hard to leave (no export or api = a moat = Facebook)

Are these unethical though? I think mostly not. You need a business model, and business models mean not running things like you are doing a favour for your uncle. I think the line is where you mislead or get your customer to do things potentialy against thier interests without telling them they are taking a risk.

</comment><comment><USER3> Define success.

To have a career and your basic needs plus some met? no

To be an industry leader\ceo of wealthy company? evidence suggests it wouldn't hurt to be a bit "flexible" ([http://www.cnbc.com/2017/03/21/apparently- psychopaths-make-g...](http://www.cnbc.com/2017/03/21/apparently-psychopaths- make-good-ceos.html))

<comment><USER4> Success is being happy with what you have already.

<comment><USER3> "what you already have" is a meaningless metric. In 3rd grade I had a lot of toys and plenty of food that someone else bought. Trying to maintain this level of "having'ness" isn't sustainable since I would eventually become bored of my toys and my food providers would die leaving me hungry.

Find some meaning\goal and work to it. Trying to put a number or fixed value on something so nebulous is a waste of time.

</comment></comment></comment><comment><USER5> In the real world, rising to and functioning at the 'top' implies recognizing that a different set of rules applies.

How you deal with this reality is up to you.

</comment><comment><USER6> Your own inner voice will tell you when you are being unethical and when you are merely benefitting from your experience or knowledge. Being unethical is not a grey area - almost everyone has an internal compass which can tell themselves in black or white (people know when they are self-justifying).

I would argue that you don't every need to cheat your own self to be successful.

<comment><USER7> > almost everyone has an internal compass which can tell themselves in black > or white (people know when they are self-justifying).

What about Nazis or USSR's NKWD - I hardly doubt that all of them knew that what they're doing is immoral.

</comment></comment><comment><USER8> If you want to be a successful bank robber, probably. Pirate, yeah, probably that too. If you want to be a successful hit man, smuggler, or drug dealer, you're going to have to bend some rules.

I think if you tell a different sort of story about what you're doing, that it's something worthwhile, and that success involves being a person that people can rely on... well, I don't think being unethical will help you much.

I suppose if you have enough power, people won't give a damn about your ethics. But I think if you can get to the middle without hurting a lot of people, you're going to be identified as one of the people the rest of the middle would like to have at the top.

</comment><comment><USER9> Imho, No. However it depends on what you mean for unethical... Talking about what is supposed to be our fiels (software engineering) i've been constantly in situations where "unhetical" developer sold the creepy code solutions cheap to customer who are not aware of the real cost in the long run, i tend to offer more professional solutions obviously less cheap and becausw i believe in honesty i explain the drawback of the cheapest solutions to the customer letting them to decide, in the long run i always got succesfull job-relations and mantain my own sense of hetic.

</comment><comment><USER10> Absolutely not. Many people and companies are actually more successful because they don't take the road most traveled. It's refreshing to come in contact with someone trustworthy and ethical.

</comment><comment><USER11> If you're working in ways that you feel are unethical then you're not successful by definition: you've failed at being true to yourself.

</comment><comment><USER12> No, certainly not. In fact, I'd say it's much harder to be successful if you're not trustworthy or if you act inconsistently, which is what unethical behaviour boils down to because you're applying different sets of rules to yourself and others.

<comment><USER13> I'm not sure that there is any challenge presented by society against individuals who choose not to be selfish, but not respecting the selfishness and poor ethics of a group that considers you a member may as well be criminal.</comment></comment>


Bram Cohen on Version Control best practices - <AUTHOR> http://bramcohen.livejournal.com/52148.html

<comment><USER2> > Creating lots of branches takes a lot of time and energy,

bs. it just means that your version-control sucks at that.

> The history of a branch is hardly ever looked at.

bs. i am sure folks look at it all the time. at least i do

most of the other stuff seems reasonable though.

<comment><USER3> "bs."

There are a few people who I would never want to argue with on a few subjects.

On the subject of revision control systems, here's the list of people I would never want to argue with:

Linus Torvalds

Bram Cohen

Tom Lord

David Roundy

I'm sure there are others, but I don't know them by name...and that probably means something about the ones I do know by name given that I'm not a VCS geek and I don't use any DVCS system.

I'm not saying _you_ shouldn't argue with them. I just think I know who I'm willing to take advice from merely on "authority". You'll need to be a more effective salesman of your ideas, if you're to argue successfully in this instance.</comment></comment>


Maintainer Hall of Shame - <AUTHOR> https://gist.github.com/8068198 <comment><USER2> Right, but then the very next thing down in his list of gists is the ubiquitous "curl something and install as root":

[https://gist.github.com/steakknife/8032911](https://gist.github.com/steakknife/8032911)

It's easy to start tearing things down with a "wall of shame" ("Security- oblivious, amateur-hour."), but a bit harder to be constructive and help fix it.

<comment><USER3> And the whole tone is just a bit OTT:

        Friendly note: If you don't use semver, I will come to your home and stab you.

</comment></comment><comment><USER4> He made list of some of the biggest very useful projects available for free and called that hall of shame.

I especially like "Heaviliy-depened upon but abandoned or barely maintained" point. Should we really shame mainteners for not continuing free support of their open source projects? "Heavily-depended upon" kind of suggests "useful for many people".

I do not really care whether they do not have time anymore, lost interest or died. It is still better for me if people abandon projects, then if they never even start them for fear they will not be able to maintain them forever.

</comment><comment><USER5> I don't like to phrase "Hall of Shame". In my view open source software developers owes their users nothing. Many open source projects are developed on people's free time. Sometime their life changes and projects gets abandoned. It is a fact of life.

The people who develop that software also only have a certain amount of time, and therefore their typically develop against their other projects. So don't expect open source developers testing and continued development to cover what you need for your project.

</comment><comment><USER6> Next entry:

\- _Barry Allard, cannot spell "heavily" correctly in his Maintainer Hall of Shame which pulls people up for their mistakes in projects he has probably never contributed to._

That being said, it's a good list otherwise -- I'll keep it in mind when releasing my projects into the wild.

</comment><comment><USER7> I am not there but I will fix this in my projects. Thanks!</comment>


Introducing yakbak: Record and playback HTTP interactions in Node.js - <AUTHOR> http://code.flickr.net/2016/04/25/introducing-yakbak-record-and-playback-http-interactions-in-nodejs/ <comment><USER2> Super lame that its wasn't a clone of this beauty from my childhood: [http://media-cache- ec0.pinimg.com/736x/71/5c/62/715c62a2fc9d...](http://media-cache- ec0.pinimg.com/736x/71/5c/62/715c62a2fc9debb9255a2ac3f1a4f89f.jpg)

</comment><comment><USER3> > [mocking HTTP..] We're still completely implementation-dependent. If we want > to pass a new query string parameter to our service, for example, we'll also > need to add it to the test so that nock will match the request.

Yes, if you change your API you need to update your tests anyway.

\---

I haven't played with it or looked at the code, but the only advantage I see is speed of writing tests: hit run, store the "tape" and you don't have to write any specific mocks (which makes it very good imo). Except when you want to test edge cases (specific error messages from the server, time outs during response, errors on the network level, etc).

I wouldn't talk about the speed since it should be the same as a traditional mock.

> Look, no implementation details!

Isn't the HTTP module considered stable? So your API is more likely going to change then node's HTTP implementation (when was the last time this changed?). In which case you need to record new tapes anyway.

<comment><USER4> > Yes, if you change your API you need to update your tests anyway.

And if you mock your responses you can easily edit it to update it to the latest version of the API.

This "tape" approach leaves you with a bunch of opaque blobs that may or may not be easy to recreate or update, since they require a server to be in a specific state to create them in the first place.

<comment><USER5> I don't like recording requests/responses because of this. In these cases, I prefer to manually write the test without running the code because I want to make sure the test matches what I _expect_ my code to do, not record what it _actually_ does. I caught an error yesterday in which a recorded response was used as an expectation, so the test passed. The bug was only exposed when I wrote a new test and manually created the request/response objects based on the docs. The test failed and I found the bug (a field was being transposed during transform of the response).

</comment></comment></comment><comment><USER6> How is this different from Nock's ability to record HTTP streams and put them into tests for later "playback"?

[https://www.ctl.io/developers/blog/post/http-apis-test- code](https://www.ctl.io/developers/blog/post/http-apis-test-code)

<comment><USER7> It doesn't seem to be (very) different. The blog post mentions Ruby's VCR library but not the node-equivalent [https://github.com/carbonfive/nock- vcr](https://github.com/carbonfive/nock-vcr) or [https://github.com/poetic/nock-vcr-recorder](https://github.com/poetic/nock- vcr-recorder).

It's simply a new approach to a solved problem, it seems.

</comment></comment><comment><USER8> I tried to implement similar thing so I kudo people for completing it. What is actually very useful IMO is being to use this in vulnerability testing. All the automated pentesting tools I know of can only touch the very basic vulnerability in a blackbox way. Imagine you can capture some sample traffic coming into your web server. Now most requests go through very similar routes. Rarely you will find a user hitting page X from page Y especially if page Y is some API people rarely would use or protected. You can also use the sample traffic and learn if there are any potential malicious payload. It's like putting up a real firewall I guess.

</comment><comment><USER9> There are a few of these kicking around now. In a similar space is the "Pact" group of libraries. Give them a look in too:

[https://github.com/realestate-com-au/pact](https://github.com/realestate-com- au/pact) [https://github.com/DiUS/pact-consumer-js- dsl](https://github.com/DiUS/pact-consumer-js-dsl)

</comment><comment><USER10> What is the difference between using this or the gor project or twitter's diffy project?

<comment><USER11> `yakbak` is about service virtualization, to help you remove 3-rd party dependencies for your tests, and replace them with recorded responses.

`diffy` is a reverse proxy which multiplex requests to multiple endpoints, compare differences and detect regressions between responses.

`gor` is about interception your production traffic (it is not a proxy, more like a network analyzer), continuously, and replaying it on demand to your test environments (you can modify and filter this traffic using various ways).

Hope it helps.

PS. I'm Gor author.</comment></comment>


JSON Schema draft 07 release notes - <AUTHOR> https://json-schema.org/draft-07/json-schema-release-notes.html <comment><USER2> I think this link title is misleading. This isn't a revision of JSON but rather a revision of JSON Schema, a language for writing grammars that can be automatically validated.

JSON itself would not have if statements under this proposal, and indeed the syntax of JSON wouldn't change in any way.

<comment><USER3> Thanks, title changed from "JSON draft 07 supports if/then/else" which would have been a shocking development.

</comment></comment><comment><USER4> This seems like a step in the wrong direction :/

<comment><USER2> I think this would be a very harmful change to JSON, but fortunately it turns out to be a change to JSON Schema, where it shouldn't really be a problem. (I think it's not a langsec concern because I think the same kinds of parsers should be able to validate data against these grammars with or without the if statement... depending on what kinds of state can be used in the condition, maybe.)

<comment><USER4> Oh you're right, thank you for pointing that out.</comment></comment></comment>


In 5 years, the Midwest will have more startups than Silicon Valley - <AUTHOR> http://venturebeat.com/2016/08/28/in-5-years-the-midwest-will-have-more-startups-than-silicon-valley/? <comment><USER2> I've heard this claim many times before, including about other actual tech hubs (Austin, Portland, ...). None of them have panned out to be true.

<comment><USER3> yeah it seems like when one of the big software companies opens a satellite office in $city/country, then you see "$city/country is the new silicon valley". There is also the variant where a writer from $city writes something along the lines of: see how much money they are making? we should do that here, because then we would be making that money. $city officials need to set up a silicon valley in $city.

To be fair though, I thought this article offered some valid reasons why it might happen. (maybe I'm biased as a midwesterner, or I really want it to be true :) )

</comment></comment><comment><USER4> I'd believe it. Mostly as a pressure release valve from the Bay Area rent insanity.

</comment><comment><USER5> "VC opens new office [somewhere], therefore [somewhere] is the next Silicon Valley"</comment>


Alcohol delivery service Drizly confirms data breach - <AUTHOR> https://techcrunch.com/2020/07/28/drizly-data-breach/ <comment><AUTHOR> You might say the data drizzled out...</comment>


Netflix Q1 results: 3 mil new subscribers - <AUTHOR> http://www.engadget.com/2012/04/23/netflix-q1-results/

<comment><USER2> That is crazily fast! Hoping that will give them the initiatives to update their movies quicker!</comment>


Ask HN: I got rejected from Cornell. I want to study PL theory; what to do? - <AUTHOR> I just got rejected from Cornell.
Throughout my teenage years, I have been in love with PL theory/type theory. I naturally became familiar with the work of professors. I decided that when I grew up, I wanted to be just like them and invent new, novel type systems and contribute to the field. My goal was to go to a good college that was strong in PL theory, where I could meet the professors that I look up to and do research.
My Cornell rejection is a huge wake-up call for me. I had deluded myself into imagining an acceptance. There are only a few schools in the US that do PL theory, and almost all of them are selective (Cornell, UPenn, CMU, etc). There are some less selective schools that do PL research, such as Northeastern, but they may not be ideal in other aspects (e.g. not being strong in math). Cornell is supposed to be the "easiest" of the Ivies. If I couldn't get into Cornell, there's no guarantee that I'll get into my other choices.
Around me, my peers are celebrating getting into Harvard, Dartmouth, Stanford, etc. I don't know what I did wrong. My GPA and standardized test scores are high. Were my essays bad? Other people just don't understand me. If someone wants to study linguistics or economics, people know what that means. But nobody knows what "type theory" is, and "computer science" and "math" are both big-tent labels that encompass many things. The people who helped me edit my essays didn't really understand what I was talking about, either. Most people don't truly know what math is, have never heard of abstract algebra, topology, and category theory, and think that math is just number crunching and don't know what's past calculus. The admissions officers have probably never written a line of code in their lives; how could I explain to them the beauty of the Curry-Howard correspondence and constructive math?
My weak point is my lack of extracurriculars. I haven't done that many activities or won that many awards because I preferred to spend the most of my time learning math at home. These past years, I've been working on my own ML dialect, which features HM type inference, ADTs and pattern matching, etc. I wrote about this in my essay and explained how I wanted to do PL research at Cornell. But as my mom explained, the admissions people don't get this stuff. The work I've done might be impressive, but I don't have any way (e.g. awards or attention) to quantify that to non-programmers. I haven't publicized my language much because it isn't "done" yet, so it doesn't have users. My downfall was expecting that my language would be an impressive activity. My mom explained that a professor might be impressed, but to a layperson, this stuff isn't as impressive as say, a robotics competition, even if my language is actually more technical. If only I could talk to a professor instead; they would surely understand!
I'm scared about my future because the purpose of my life had been to pursue type theory, which requires me to get into a good college as an undergrad, then get into a good grad school. If this doesn't pan out, I don't know what I'll do with my life. I won't be able to stand four years at any random college, where none of the professors know PL theory and there are no PL courses. If I don't get into one of my top choices, I don't know what will be waiting for me once high school ends.
What should I do to make sure that I get into a good college? How would I explain what I want to study to a college admissions officer?
If I don't get into a college that does PL research, how can I get involved in research on my own?
And I need a contingency plan if my plans as a PL theorist don't work out. How can I find something else to devote my life to instead? <comment><USER2> This reminds me of when I was your age and bummed about not getting into a great school. Then, when I went to a state school, I learned: there's plenty of programs at less selective schools which do great work. For example, Santosh Nagarakatte at Rutgers, who has a PhD from Upenn and has had PhD students get bronze and gold awards at PLDI for a couple years, and he would be perfect to guide you in your PL Theory journey.

Your undegrad is less important than you think, it is like driving a Civic vs a Ferrari, one is more sexy and might get you there a bit faster, but both will get you there. Just do well in school, make relationships with professors, go to conferences, and keep learning!!! and consider this: there's more qualified people for these great schools than they can expect so that's why a lot of these public schools have an overflow of those smart people who go on to do great work and end up in the same position as the people who go to these selective schools. So, enjoy your undergrad, don't put other people down for "not knowing math", and re-calibrate. For your goals, grad school is what you really want to optimize for.

</comment><comment><USER3> I would suggest there are some good language research programs at some other schools that might not be quite as selective. Might be worth applying to, for example, Brown, Northeastern, Indiana University.

If you were to follow a typical bachelor's degree curriculum, you would have to take a bunch of other courses, both CS and non-CS, that have nothing to do with programming languages. So regardless of what school you go to, you might not end up with a lot of PL-specific coursework as an undergraduate. Thus, even a generally good school _without_ a PL research group could still be worth considering, as it may still be a good stepping stone into a more desirable graduate program.

You might even find that you enjoy some other branch of CS just as much as languages and type theory!

</comment><comment><USER4> You need to find the top 10 people in your field send them your admissions info. Explain your situation and ask for advice. On where to go and how to get into the field. I would have to assume one of them will be impressed and help you get in. And you'll need those relationships anyway.

A lot of places all so have undergrad research projects classes. which would allow you to put some more time in on what you interested in.

</comment><comment><AUTHOR> Hmm, why isn't this showing up on Ask HN tab? Someone else submitted an Ask HN right after mine, and that one's showing up on the Ask HN tab.

</comment><comment><USER5> At the undergrad level it doesn't matter.

</comment><comment><USER6> It's a little hard to tell from your description, but I will write a response assuming you're interested in studying PL theory as a career, and not just as an undergraduate. If you're interested in studying this area only as part of an undergraduate education, it really doesn't matter where you go since the content of your studies will be unrelated to your career, and you can study w/e you want on your own with very little impact on your future.

If you want a career in academia, DON'T pursue a bachelors from an institution that is at the top of the field you're aiming for. The most important thing you will do during your undergrad is making connections. This can be done more easily at middle of the road schools (where there's less competition and if you look good enough on paper better often better financial support) than at larger, more prestigious ones.

First, you will need close relationships with one or a few professors in the field who can advise (and recommend you) in applying for grad schools; these connections are critical. A useful approach can be to look for conferences/journals where "the professors [you] look up to" present their work and identify other authors (or coauthors) from less-well-known institutions, get in touch with them, and apply to the relevant programs where they work. If that doesn't pan out, go somewhere that (A) you've heard of (B) has a CS or good math program and (C) you beat the average admit stats. A big fish (like, class rank < 10th) in a small pond with good references has a lot better shot at being picked up than an anonymous 80th percentile sea bass.

Once you're in school, do good work, but your job is still to make connections. Cultivate relationships with the relevant professors in your program. Preferably have an advisor/mentor with whom you meet at least couple of times a month. Attend conferences, and once you've got a couple of years of study under your belt see if you can present at them (in many fields there are undergraduate conferences just for this purpose. probably no one with a name you recognize will attend these, but it's good to show you can defend your work to a sophisticated audience). As you get closer to applying to grad school you will want to identify potential advisors (more important than the school), and get in touch with them. It sounds like you've already got some people in mind, but it would be good to develop an understanding of the current state of the field and who's actively moving it forward (former students of Big Name professors are a good source of candidates).

As you observed, it's hard to convey to laypeople your interests and how your work relates to them. It is often not much easier with people who know what you're talking about. Good work is necessary but not sufficient; passion probably isn't even necessary but might help you mitigate the grind. To succeed you need to play the game better than everyone who applies to grad school but doesn't end up with a tenured position.

Alternatively, eschew college, go to lambda school or something and a year from now get paid six figures to sling javascript. Not great advice, but neither is grad school.</comment>


Ask HN: What project/startup ideas do you have that you're unsure about? - <AUTHOR> I'll start, I have a few. In each case I'm unsure whether it's viable. I'm afraid to waste my time.<p>--CS lessons for high schoolers with a remote teacher. a high school would enroll in the program and the students would go the school's computer lab for class as if it were a normal class, but the lesson would be interactive and self-guided, akin to codeacademy's courses, and the teacher would be there through chat for helping people get past blocks/obstacles.<p>--community-driven code annotation of open source projects. like wikipedia, but for annotating and explaining the source code for projects like linux, django, react, etc, to help us all understand why code was written the way it was. educational on multiple levels.<p>--tech courses targeting recruiters. a lot of them seem to have a really weak understanding of the technologies they hire for, and I think there may be a market for helping them understand better. <comment><USER2> Learning plan :- A step by step document on how someone went on the acquire a new skill. What books he read, what videos he watched, what was the order etc etc.

A webapp where one can see all the learning plans that people used to learn new things. You can fork the plan and make changes to it to create a new/better plan.

</comment><comment><USER3> Tech courses targetting recruiters.

I'm interested in this as a beneficiary not as a direct participant. I wonder if recruiters would be interested in a course like this?

</comment><comment><USER4> Open-sourcing the revolution.</comment>