Japan Captures TOP500 Crown with Arm-Powered Supercomputer - <AUTHOR> https://www.top500.org/news/japan-captures-top500-crown-arm-powered-supercomputer/ <comment><USER2> The link is working for me, here are the details on the winner.

"The new top system, Fugaku, turned in a High Performance Linpack (HPL) result of 415.5 petaflops, besting the now second-place Summit system by a factor of 2.8x. Fugaku, is powered by Fujitsu's 48-core A64FX SoC, becoming the first number one system on the list to be powered by ARM processors. In single or further reduced precision, which are often used in machine learning and AI applications, Fugaku's peak performance is over 1,000 petaflops (1 exaflops). The new system is installed at RIKEN Center for Computational Science (R-CCS) in Kobe, Japan.

<comment><USER3> Wow, so we've hit exascale. I heard claims that we would reach exascale by 2020 in 2012. I didn't believe them.

<comment><USER4> 0.5 exascale

</comment></comment></comment><comment><USER5> The end of the US semiconductor industry is now in sight.

The only US owned state of the art fabs in the US belong to Intel. Intel survives because they have a high margin on x86 CPUs. Today, TMSC announced 5nm, and the top supercomputer is ARM-based.

Apple seems to be going ARM. Chromebooks are ARM. Microsoft now offers Windows on ARM, on the Surface Pro X. Mobile never used x86. x86 is on the way out. What's left for Intel?

(Micron is still a major force in DRAM, amazingly.)

<comment><USER6> You see Intel is a 50 yr old company, you think they will sit hand in hand on their bums? If the majority Industry shifts towards ARM ISA Intel will evolve, What stops Intel from Licensing the ARM Core and build a industry leading ARM Chip? I think no-one with the exception of Apple in the semiconductor industry has more resources than Intel to build a world class ARM CPU. Intel is just trying to drag x86 as far as possible because it can monopolise the architecture only AMD and Via are other two vendors who have license to build x86 processors.

<comment><USER5> _What stops Intel from Licensing the ARM Core and build a industry leading ARM Chip?_

That others can compete directly on price. Intel can probably do it technically, but will not have the margins they had with x86.

<comment><USER6> Yes that is true. if the Industry shifts happens then the only way they can have those margins is if they build a equally competent ARM Chip, hard to justify to the investors to abandon billions invested in the current architecture. Surely the top management and marketing would be fired. But Intel could do it.

</comment></comment></comment></comment><comment><USER7> Perhaps it's worth pointing out some context. Given the remarkable predecessor, K Computer, this was only a matter of time. (I heard a great early talk on K, and I wish I knew the speaker for credit who was obviously working quite hard in English, but flawless, ending with basically we did it all ourselves largely de nuovo.) It seems that given the current circumstances, they haven't kept to schedule -- it was supposed to be operating _next_ year.

There's a lot non-mainstream in this, like K, but partly influenced by K experience. Unusually, it's all apparently specifically designed for the job, from the processor to the operating system (only partly GNU/Linux). Notably, despite the innovation, it should still run anything that can reasonably be built for aarch64 straight off and use the whole node, even if it doesn't run particularly fast; contrast GPU-based systems. (With something like simde, you may even be able to run typical x86-specific code.) However, the amount of memory/core is surprising -- even less than Blue Gene Q -- and I wonder how that works out for large-scale materials science work for which it's obviously prepared. Also note Fujitsu's consideration of reliability, though the oft- quoted theory of failure rates in exascale-ish machines was obviously wrong, otherwise as the Livermore CTO said, he'd be out of a job.

The bad news for anyone potentially operating a similar system in a university, for instance, is that the typical nightmare proprietary software is apparently becoming available for it...

<comment><USER8> Maybe you mean Matsuoka sensei? He's the director of RIKEN AICS since a couple of years and a known media figure in Japan.

<comment><USER9> Satoshi Matsuoka is an "international rock star" in HPC circles. But I don't think he was involved with the K computer; before RIKEN he was IIRC at Tokyo Tech doing their "Tsubame" GPU clusters.

<comment><USER8> Yes, but I've seen a talk of him where he also mentions K, so maybe that's what GP meant.

Edit: Btw. I did my PhD at Tokyo Tech (not with Matsuoka though) ;-)

</comment></comment></comment></comment><comment><USER10> Given that today's HPC architectures are mostly power constrained, and a majority of the FLOPS often come from GPUs (for their flop/watt ratios), this direction is not surprising.

ARM has been making major strides in the high performance area. The new AWS Graviton processors are pretty nice from what I have heard. And then there's the ARM in Mac. Yup and Julia will run on all of these!

While I say all of this, I should also point out that the top500 benchmark pretty much is not representative of most real-life workloads, and is largely based on your ability to solve the largest dense linear solve you possibly can - something almost no real application does.

(The website is down, so I haven't been able to look at the specs of the actual machine).

<comment><USER11> Get ready for a surprise then: all those FLOPS are coming from the ARM cores.... This beast has no GPUs:

[https://postk-web.r-ccs.riken.jp/spec.html](https://postk- web.r-ccs.riken.jp/spec.html)

<comment><USER12> So looking at anandtech's breakdown the CPUs are closer to a knights landing 'CPU/GPU' than a traditional CPU (currently). They also have a ton of HBM2 right next to the dies so this should be insanely fast as they can feed those cores very very quickly regardless of how fast each core is by clock and pipeline. That should massively reduce stalls.

<comment><USER13> The "traditional CPU" portion of the core is a bit more capable than KNL, but yeah, that's roughly accurate.

<comment><USER12> Oh agreed, but honestly what makes this so interesting is how tuned it is. I'm honestly surprised we haven't seen Intel or AMD ship an HPC CPU with on package HBM2 yet.

</comment></comment></comment></comment></comment><comment><USER14> Really wish Fujitsu sold a developer kit with an A64fx chip - its the only shipping ARM chip with SVE that I know of and I would love to get my hands on one to play with.

<comment><USER15> No kidding!

I don't have any sense of how much these cost to manufacture. There ought to be a market for a A64fx based rackmount server system. If the price isn't outrageous, I'd love to see these sold as an SBC.

<comment><USER16> Something like the Fujitsu PRIMEHPC FX700?

<comment><USER17> Minimum 128 unit purchase for those outside Japan, though.

<comment><USER18> A group buy would be cool.

</comment></comment></comment></comment></comment><comment><USER19> Even more impressive than the linpack result (2.8x faster than the runner up) is the HPCG result at 4.6x the result of summit in second place.

That benchmark consists of more sparse matrixes which are a lot more realistic depiction of hpc workloads. Seems to scale a lot better with irregular access patterns than basically Nvidia GPUs on the other systems.

</comment><comment><USER20> Well the link is dead. But I am guessing it is from Fujitsu A64FX, a 512 bit SIMD extension for ARM.

Edit: Turns out I was right. May be this link is better.

[https://www.anandtech.com/show/15869/new-1-supercomputer- fuj...](https://www.anandtech.com/show/15869/new-1-supercomputer-fujitsus- fugaku-and-a64fx-take-arm-to-the-top-with-415-petaflops)

<comment><USER21> To be clear, the extension -- _Scalable_ Vector Extensions -- is for any width between 128 bits and 2048 bits. (It's in the name!) The implementation in Fujitsu A64FX seems to be 512 bit specifically.

</comment></comment><comment><USER22> For those interested in more details they did a presentation at Hot Chips. The slides are here:

[https://www.hotchips.org/hc30/2conf/2.13_Fujitsu_HC30.Fujits...](https://www.hotchips.org/hc30/2conf/2.13_Fujitsu_HC30.Fujitsu.Yoshida.rev1.2.pdf)

</comment><comment><USER23> Is there information on how the Fugaku machines are connected together? The highest performing Power9 ones seem to use InfiniBand, but is that still true with the ARM devices?

Edit: seems to be a Fujitsu designed interconnect [0]. Wonder how much of the overall performance is dependent on the difference in communication.

[https://www.fujitsu.com/global/documents/solutions/business-...](https://www.fujitsu.com/global/documents/solutions/business- technology/tc/catalog/08514929.pdf)

<comment><USER7> I don't know whats the best reference, but here's one: [https://www.fujitsu.com/global/Images/the-tofu- interconnect-...](https://www.fujitsu.com/global/Images/the-tofu-interconnect- d-for-supercomputer-fugaku.pdf)

<comment><USER23> Ah, much better than the white paper, thanks!

</comment></comment></comment><comment><USER24> It's kind of interesting that in terms of perf/watt, it's actually slightly less efficient than Summit, which is over 2 years old. Also interesting that they went with a homogenous design (all Arm cores) instead of a heterogenous CPU+GPU setup.

</comment><comment><USER25> Can any of the HPC experts shed some light on how these ARM chips are better than their predecessors. I toured a small cluster in LANL, where the ARM chips ran the hottest and their cooling was the loudest.

<comment><USER26> A64fx have on board HMB -> that means no dram. If you look at the fugaku mother board their is no Dimm slots. All the memory is on the same package as the CPU.

This delivers a huge boost in bandwith.

HMB stand for high memory bandwidth. It offers up to 900 GB/s.

Now if you add the tofu interconnect on top you have a systems finely tuned for maximising data movement.

Remember : compute is cheap, communication is expensive.

You can have load of gpu and processors but if you can't feed them data fast enough they are useless.

<comment><USER27> That's fascinating. I know that AMD has been touting HBM as a faster memory subsystem for their GPUs, is that the same as HMB where it's stacked? Or are they just calling it something similar?

<comment><USER28> It's the same thing. High end GPUs have been using HBM2 for a few years, A64fx uses HBM2 for CPU memory.

</comment></comment></comment></comment><comment><USER29> Pushing the boundaries is the best way to advance technology

Car manufacturers need ridiculously expensive race cars to push the technology to get advancements in everyday car technology. Similarly, Top500 is one way to push the technology for not just computationally but also things like better power, heat and network management in processors and computers in general.

With ever doubling server farms, Heat management of these systems will become the major contributor for environmental pollution than all vehicle exhaust. Rather than spending on renewable sources of energy for these farms, it makes sense to optimize energy consumed per processor. Hoping to see advancements in this area

In my opinion, next arm/intel will be the company who does energy efficient processors

<comment> dawg- >Heat management of these systems will become the major contributor for environmental pollution

Here's an idea, maybe we should just turn the moon into a giant data center?

<comment><USER30> In a vacuum the only way to dissipate heat is radiation and to a lesser extent conduction. In an atmosphere you also have convection. It's more efficient to cool something on Earth than on the Moon.

We also have more power options on Earth. On the Moon you'd only really have solar power available and then only two weeks a month. On Earth you've got insolation for half a day every day and the option of other renewable sources.

This is all besides the phenomenal cost of building data centers on the Moon vs Earth.

<comment><USER31> > heat dissipation

Eh, the moon is made of pretty cold rock.

> two weeks a month

> half a day every day

Amortized, that's the same thing.

<comment><USER30> The Moon might be solid rock but that doesn't make it a good heat sink. If solid rock was a good heat sink you could just build data centers inside mountains on Earth orders of magnitude cheaper. Rock might eventually dissipate heat but it's not conductive enough to carry it away from heat generating elements to keep them from melting down.

Renewables on Earth include solar, wind, hydro, tidal, and geothermal. Even if your data center was 100% solar you only need enough storage to cover night usage and maybe a few days of total cloud cover. A grid tie is also trivial. A data center on the Moon _requires_ two weeks of power storage and has no grid tie option.

Again, this is all ignoring the literally astronomical cost of getting mass to the Moon.

If you want expensive but non-polluting data centers you'd get more bang for your buck building them on or under the ocean with renewable power attached. A barge or submerged platform with ocean water for cooling anchored off-shore would provide orders of magnitude better latency and be orders of magnitude cheaper.

</comment></comment></comment></comment></comment><comment><USER32> There's something amusing about a blog post announcing the fastest computer in the world being unable to serve up web requests in under 10 seconds.

(When I wrote this comment, I was seeing 500 status code errors when trying to load the page)

<comment><USER33> True, but we can blame the programmer as we usually do

</comment></comment><comment><USER34> For what it's worth, Cray is also offering supercomputers with A64FX chips.

</comment><comment><USER35> Some more information about Fugaku, aka Post-K, here:

\- Slides on Fugaku: [https://www.fujitsu.com/global/Images/supercomputer- fugaku.p...](https://www.fujitsu.com/global/Images/supercomputer-fugaku.pdf)

\- SVE 512 instructions for armv8: [https://www.fujitsu.com/global/Images/armv8-a-scalable- vecto...](https://www.fujitsu.com/global/Images/armv8-a-scalable-vector- extension-for-post-k.pdf)

</comment><comment><USER36> It's sort of funny to watch the ISC event and see news of a machine with an exaop of AI performance, while the zoom presentation still can't properly crop out the background.

</comment><comment><USER37> Anyone know the reason for the dominance of Power processors in the top 10 other than it's from IBM and they get a lot of contracts for HPC?

<comment><USER38> They're fast, have lots of memory and IO bandwidth and can do some cool other tricks (I can't remember the name right now, but they have thing for PCIe devices to participate in cache coherency, their in-system protocols scale better to more CPUs, ...)

<comment><USER7> CAPI

<comment><USER38> exactly, thanks

</comment></comment></comment></comment><comment><USER39> Green500 #1 is MN-3 by PFN that's also from Japan and they also use original chip!

<comment><USER40> [https://www.anandtech.com/show/15177/preferred- networks-a-50...](https://www.anandtech.com/show/15177/preferred- networks-a-500-w-custom-pcie-card-using-3000-mm2-silicon)

</comment></comment><comment><USER41> Backup link if you're getting http 503: [http://archive.is/JSvCi](http://archive.is/JSvCi)

</comment><comment><USER42> [http://archive.is/PNY80](http://archive.is/PNY80)

</comment><comment><USER43> This kind of feels like a publicity stunt for Arm. Arm is owned by the Japanese company SoftBank and now Japan captures the supercomputer crown. I don't want to take away from the achievement and it's certainly possible that this is just a coincidence, maybe someone with more knowledge on the subject can comment on this?

<comment><USER44> Fujitsu announced they would be building a Kei2 based on ARM, soon after their Kei was #1 around 5 years ago.

ARM was a British company until it was bought by SoftBank a couple of years ago.

</comment></comment><comment><USER45> CoreTeks on youtube has a great video that explains the brilliance of this chip.

<comment><USER46> [https://www.youtube.com/watch?v=IfHG7bj- CEI](https://www.youtube.com/watch?v=IfHG7bj-CEI)

That video is from end of 2018... which makes it even more amazing.

</comment></comment><comment><USER47> is x86 likely to ever go away, or anytime soon? asking as a non-systems guy

<comment><USER48> Not for a long time. ARM is just more competition which is good. The guys claiming that Intel is basically a has been and can't make anything new don't know what they're talking about. Intel has come back more than once. Competition is good, I'm glad it's heating up a bit more these days.

</comment></comment><comment><USER49> Ah but does it run Linux? [probably but couldn't see in the link] Looks like another nail in Intel's coffin...

</comment><comment><USER50> I cannot think of any plausible way in which Apple could have influenced the date of this announcement, but the timing, given what is expected to be announced later today, is uncanny.

<comment><USER51> The chips in the supercomputer are not exactly ARM, they do have arm-8 instruction set but that's just for loading the proprietary vector extension unit.

Pretty much a GPU alike stuff with arm-8 set to be able to run its OS.

<comment><USER21> No, it's not a proprietary extension, it's Arm's Scalable Vector Extension!

</comment></comment></comment><comment><USER52> The site of the organisation responsible for assessing the fastest computers in the world succumbs to the hacker news hug of death.

<comment><USER53> Oh my, it's a django app with debug mode enabled. I just got an InterfaceError with the full traceback and django configuration. (I've emailed them so they can fix it)

<comment><USER54> Just how in the world are people deploying Django apps with DEBUG = True?

<comment><USER55> Simple, human error and no code review process for your production environment.

Something similar happened to a huge retailer here in Austria where just typing your username without password would log you in. Reason? An intern committed debug code to production and nobody noticed. In my book that's not the fault of the intern but the fault of the CTO/$TECH_LEAD that hasn't implemented and religiously uphold a code review process for everything that goes into production since stuff like this could happen even to experienced engineers that are tired or having a bad day.

<comment><USER56> I live in Austria as well, could you share to which retailer it happened?

</comment></comment></comment></comment></comment><comment><USER57> Also a king in efficiency:

[https://www.nextplatform.com/2019/11/22/arm-supercomputer- ca...](https://www.nextplatform.com/2019/11/22/arm-supercomputer-captures-the- energy-efficiency-crown/)

<comment><USER28> The full scale supercomputer is not quite as efficient as the prototype.

> The number nine system on the Green500 is the top-performing Fugaku > supercomputer, which delivered 14.67 gigaflops per watt. It is just behind > Summit in power efficiency, which achieved 14.72 gigaflops/watt.

</comment></comment><comment><USER58> I can't help but think that the top minds from Cyrix aren't feeling both smug at the vindication and dismayed that they were just a little too ahead of the curve.

The writing was on the wall that RISC would win, but the x86 juggernaut appeared unbeatable.

<comment><USER59> > The writing was on the wall that RISC would win [...]

What do you mean by "win" exactly? RISC is just an architectural choice and means nothing on its own. For reference, Google's TPUs, which - according to Google - deliver 30-80x better performance per Watt than contemporary CPUs, use a CISC design instead [1].

This whole "RISC vs CISC"-nonsense is quite inane, given that it's a design choice that's highly application-specific.

It's even debatable, whether the A64FX can even be considered a "pure" RISC design, considering the inclusion of SVE-512 and its 4 unspecified "assistant cores" [2] ...

[1] [https://cloud.google.com/blog/products/gcp/an-in-depth- look-...](https://cloud.google.com/blog/products/gcp/an-in-depth-look-at- googles-first-tensor-processing-unit-tpu)

[2] [https://www.fujitsu.com/jp/Images/20180821hotchips30.pdf](https://www.fujitsu.com/jp/Images/20180821hotchips30.pdf)

<comment><USER60> RISC is a philosophy, not so much a set of rules. If you let the creators of RISC define their approach, the division between RISC and CISC becomes more clear. Most summaries of RISC oversimplify it. Maybe that's ironic, haha.

</comment></comment></comment><comment><USER61> I suggest building a supercomputer out of Ivy Bridge Celerons. They are dirty cheap, like $2 in bulk, yet quite performant.

<comment><USER62> Can you buy _10+ million_ units of those?

<comment><USER61> Finally someone who got the joke.

</comment></comment></comment><comment><USER63> Not to be dismissive, but can't anyone "build" the biggest supercomputer by reserving enough instances at AWS or GCP? I'm sure that AWS or GCP would like to encourage this competition, but it seems a bit, well, boring.

<comment><USER64> The ranking is calculated based on the Linpack benchmark. Being a parallel application, performance is not simply scaled to number of processors; the network interconnect is hugely important.

Now, although Linpack is a better evaluation metric for a supercomputer than simply totaling up # of processors and RAM size, it's still a very specific benchmark of questionable real-world utility; people like it because it gives you a score, and that score lets you measure dick-size, err, computing power. It also, if you're feeling unscrupulous, lets you build a big worthless Linpack-solving machine which generates a good score but isn't as good for real use (an uncharitable person might put Roadrunner [https://en.wikipedia.org/wiki/Roadrunner_(supercomputer)](https://en.wikipedia.org/wiki/Roadrunner_\(supercomputer\)) in this category)

<comment><USER65> I am curious to learn a bit more about how supercomputer scores measure proportionally to "real world performance", which is a hard thing to quantify since there are probably hundreds of different application "types" in the "real world".

Combine this with the fact that many applications are limited by network throughput rather than by CPU/SSD/RAM/PCIE, and performance becomes a hard thing to quantify even in terms of "how many ARM cores do i need to buy to make my CPU not be the bottleneck"

There are benchmarks for ARM linux compilation and ARM openjdk performance benchmarks which are a good start, but I don't know how to compare SKUs between those ARMs and the ones found in top500 supercomputers.

<comment><USER36> HPCG is another benchmark on the Top500 site, and it's more of a real world benchmark. It's of course not perfect, but maybe that's more what you're looking for.

</comment></comment></comment></comment><comment><USER66> As I have said countless times in the past:

\- Moore's law is dead at the level of the transistor

\- Architecture, HPC updates will keep coming for many years into the future

\- AGI has already escaped Moore's law (i.e., development of a fully functional AGI will not be constrained by lack of Moore's law progress). And that's what really matters.

\- Related note on AGI: it has escaped the data problem as well (as in we have the right kind of sensors: mainly cameras, microphones, and so on). That is, according to the categorization of AGI challenges in terms of hardware, data, algorithms, the only missing piece is the right set of algorithms.

<comment><USER67> Why do you say that AGI has escaped Moore's law? Especially, how can you say so when you don't know what the right set of algorithms are?

<comment><USER66> Oh then you're not going to like what I'm going to say next:

\- Somewhere between 2015 and 2025, multiple individual groups will have cracked the AGI problem independently. (but 2015 is in the past, which means there are likely groups out there that have cracked the problem and keeping it a secret).

\- AGI-in-the-basement scenario is very doable and has been or will be done, many times over.

<comment><USER67> And your evidence for this claim is... what?

<comment><USER66> A combination of:

\- sources available freely online

\- my own thought process and piecing of things together

<comment><USER67> What sources freely available online tell you that there are likely groups out there that have cracked AGI and are keeping it a secret?

<comment><USER66> [https://www.futuretimeline.net/blog/2017/06/13.htm](https://www.futuretimeline.net/blog/2017/06/13.htm)

<comment><USER67> By my eyeball, that adds up to maybe 12% probability by 2025. As evidence for your claim, that's... rather unimpressive, and less than convincing.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER68> We're living in an age in which AWS dwarfs all the machines on the TOP500 taken together. The TOP500 is a vestige of the cold war that needs to be retired. Similarly to how the US and the USSR used to compare their numbers of nuclear warheads, it is comparing a reserve of capacity that is probably going to be retired having brought marginal benefits at best, all in order to goad taxpayers into a futile competition.

<comment><USER69> What a complete load of nonsense. Do let us know what your AWS bills are like when you run your 100s of petaflops HPC job there. And what is the interconnect like? A few gigabit switches aren't the same as the interconnects on these supercomputers.

<comment><USER70> Google Cloud has a much superior interconnect, easily doing twice the bandwidth of AWS with lower latency.

Ethernet may not be approaching Infiniband in raw speed and latency, but I think it's doing pretty decently with 10 Gbps going to every node.

Ethernet networks are definitely much more competitive today than 10 years ago, when Infiniband already had cheap 20 Gbps network cards but 10 Gbps Ethernet card were expensive and the network switches were a rarity.</comment></comment></comment>


HTTP 418 I'm a Teapot - <AUTHOR> https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/418 <comment><USER2> Seems an odd link to choose...considering how old this is, why not just post the RFC instead?

[https://tools.ietf.org/html/rfc2324](https://tools.ietf.org/html/rfc2324)

While we're on the subject though, I'm in early planning for a replacement controller for my Keurig 250 (if I were using a RPi, I'd call it the Pig 250, but it'll likely be a different board) -- I'm excited to actually get HTCPCP in something real; thoughts on practical implementation?

<comment><USER3> Oh! I never took the time to read it and didn't knew the protocol was actually for coffee machines.

It makes sense to have the 418 status code then.

> Any attempt to brew coffee with a teapot should result in the error code > "418 I'm a teapot".

<comment><USER4> Indeed. It defines code 418 for HTCPCP (which is an extension to HTTP), not HTTP itself.

So, all HTTP-only implementations that have 418 are technically incorrect, since it is not part of HTTP.

<comment><USER5> Most of the codes defined in the WebDAV standard are assumed by most implementations and also to an extent by IETF's standardization efforts to be recognizable HTTP codes even in non-WebDAV situation. Those codes are only defined semantically in the WebDAV protocol, but they are considered broadly to be extended HTTP codes available for general usage as defined, simply with less defined semantics in those cases.

Which would seem to apply equally here: While the HTCPCP standard only indicates the semantics of the codes with respect to usage in HTCPCP scenarios, they are still code extensions to HTTP and available for use as defined, simply with fewer specified semantics.

Which is to say if you build your HTTP REST API using 418, we can all generally agree that the error from your API at that time is "I'm a teapot". Given that you aren't an HTCPCP endpoint, we just can't assume that we could then try HTCPCP-TEA to then try to brew tea, as we can't be sure that the semantics follow. Perhaps your REST API is simply a catalog of brewing equipment for purchase, and it still makes sense for some of your endpoints to fail with a 418. :)

It's unlikely for the IETF to assign 418 to a different HTTP-based or HTTP- like protocol with an entirely different and non-compatible definition, so even if 418 is laxly defined for HTTP proper, it's still "technically correct" in the sense that you can technically use it all you want and the only repercussions from the technical specs are if you implement it wrong in HTCPCP, there's no wrong way to use 418 in plain HTTP. ;)

[https://http.cat/418](https://http.cat/418)

<comment><USER4> I was not arguing against implementing 418. IMHO, it's okay to implement it since it won't be assigned to something else.

<comment><USER5> Sure, that's fair, I was simply pointing out that the web is a much more complicated mixture of its standards documents than just surface level, to the point where originally intended to be unrelated standards do bleed together. April Fools Joke or not, "HTCPCP" or not, 418 is an interesting part of HTTP's legacy now.

</comment></comment></comment></comment></comment></comment><comment><USER6> I'm reminded of this NPM issue: [https://github.com/npm/npm/issues/20791](https://github.com/npm/npm/issues/20791)

<comment><USER7> I don't understand how this happened. Why would a client appending the port in the Host: header result in the server giving that reply? Is it a default joke reply if the npm repository server is confused?

<comment><USER8> Most likely it was the server being very confused and not understanding that you could put the port in the Host header (very legit thing to do and proxies do it a lot)

So it likely treated it like a bad host header.

</comment></comment></comment><comment><USER9> Reminds me of:

[https://unix.stackexchange.com/questions/405783/why-does- man...](https://unix.stackexchange.com/questions/405783/why-does-man-print- gimme-gimme-gimme-at-0030)

</comment><comment><USER10> I still say 418 is a sensible error code to use to inform clients who try to spew HTTP at non-HTTP ports that they're barking up the wrong tree.

I.e.: "I'm not a web server, bro. I'm a teapot."

You could theoretically further provide a Protocol header in the response (like the one in the request for an HTTP upgrade) that says what protocol you _should_ be speaking on that port.

<comment><USER11> Helpful! That would sure narrow down the number of possible vulnerabilities that had to be tried and would help a script kiddie breeze through the probing much faster.

<comment><USER10> I'm thinking in IPv6 terms here, where each separate "service" is exposed on a separate IP, and the only time you get multiple ports open on a single IP is when it's one daemon that is holding multiple ports open in order to allow clients to speak one of several protocols to it (i.e. using TCP/UDP ports for their original purpose of layer-4 negotiation of the layer-{5,6} protocol stack you'll be speaking the same layer-7 protocol over.)

In such cases, you can probably recognize the server just from the set of ports that are open (e.g. a Slack server instance: HTTPS, XMPP, IRC.) So the server pointing out that you're speaking to the wrong one of its ports with your message, in the way a client can understand, won't really impact your attack surface.

Of course, if the world really did adopt "the IPv6 port usage paradigm", and did away with NATs and other things that map ports to other ports, there'd be little need for this: a destination port would be a 1:1 identifier for a protocol, and you could know you were speaking "the wrong protocol" to a port simply by looking at what port it is! Network client libraries could get away with simply not letting you specify both the port and the protocol, instead only leaving one configurable and deriving the other one from it.

But we're a long way off from that, and I would think that for now, being able to "permanent fail" HTTP clients off of infinitely retrying some internal service port exposed on your k8s-mesh load balancer, would be useful.

<comment><USER12> > I'm thinking in IPv6 terms here

You do realize that the utopian future you dream of will never happen!

There is too much money to be had hording and selling IPv4 addresses.

</comment></comment></comment></comment><comment><USER13> At least we know the only correct way to brew tea. [https://en.wikipedia.org/wiki/ISO_3103](https://en.wikipedia.org/wiki/ISO_3103)

<comment><USER14> An elaboration by Tom Scott: [https://www.youtube.com/watch?v=nAsrsMPftOI](https://www.youtube.com/watch?v=nAsrsMPftOI)

TL;DR is that the standard is used for the most _consistent_ tea, not most _tasty /enjoyable_ tea

</comment></comment><comment><USER15> Sort of related:

I'm in Pennsylvania, and I currently get a "451" error code when visiting the DefCad website. I've never seen in the wild before. A bit scary.

<comment><USER16> What? Can you post the full error message (HTML/text?)

On what grounds is someone blocking DefCad's website?

<comment><USER15> This is what the response looks like (I added it to Wikipedia): [https://en.wikipedia.org/wiki/HTTP_451#/media/File:Status_co...](https://en.wikipedia.org/wiki/HTTP_451#/media/File:Status_code_451_example.png)

And this is why: [https://www.attorneygeneral.gov/taking-action/press- releases...](https://www.attorneygeneral.gov/taking-action/press- releases/attorney-general-shapiro-governor-wolf-state-police-successfully- block-access-to-3d-downloadable-guns-in-pennsylvania/)

<comment><USER17> "the company agreed to block Pennsylvania users from its site" If it was being blocked at the ISP level, then I would be concerned.

</comment></comment></comment></comment><comment><USER18> For the record, despite proposals to remove it, node.js, ASP.NET and Go have all decided to keep it in [1].

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

[1] [http://save418.com/](http://save418.com/)

</comment><comment><USER13> At least the correct way to brew tea is known. [https://en.wikipedia.org/wiki/ISO_3103](https://en.wikipedia.org/wiki/ISO_3103)

</comment><comment><USER19> I still remember this April Fool's joke. I feel old now. :-)

</comment><comment><USER20> Related: [https://news.ycombinator.com/item?id=15004907](https://news.ycombinator.com/item?id=15004907)

</comment><comment><USER21> I've supported this error code in at least three production systems. Am I doing it right? _hmm_

</comment><comment><USER8> Mozilla should consider having the wiki return a 418 on this page...

</comment><comment><USER22> Obligatory Google: [https://www.google.com/teapot](https://www.google.com/teapot)</comment>


Science-backed techniques to help you make hard decisions - <AUTHOR> https://medium.com/swlh/six-science-backed-techniques-to-help-you-make-hard-decisions-fde6e234c887 <comment><USER2> This was about twenty years ago, as three of us travelled round the republic of Ireland in an old transit van in the summer holidays from University.

We were a bit lost and I pulled up next to an old fella and his collie dog on a one lane road out in the middle of nowhere. I asked him how he would get to Limerick and after looking around with a pained expression for a few seconds, he turns to us and says, "my sister takes me".</comment>


Are Tweets Copyrighted ? - <AUTHOR> http://blogmaverick.com/2009/03/29/are-tweets-copyrighted/ <comment><USER2> Everything original you write is automatically copyrighted (in the US and Australia at least, and I'm sure most other countries).

In the context of Mark Cuban's tweet, republishing it is fair use (<http://en.wikipedia.org/wiki/Fair_use>).

<comment><USER3> Internet people love to declare that X is "fair use", but Internet people tend to have much more confidence than they should. (For one thing, they tend to read the criteria for fair use and think it's a logical _or_ operation, when it's more of an _and_. It isn't either, really, it's what a judge determines, but it's _more_ of an "and".)

You can't really know until you're in front of a judge, but if we take a tweet as a work, publishing an entire tweet without permission seems awfully likely to fail the amount test. Taking 100% of a work doesn't seem like fair use. You're also in trouble on the "work's value" front, because it's likely that the judge will not accept that Mark Cuban's tweets are not of some value. (A judge might write _my_ tweets off as pretty worthless, but probably not Mark Cuban's.) Being given away voluntarily by the owner does not prove they don't have value, merely that the owner perceives that they have more value to the owner in that form, value you are impinging upon by republishing out of his control.

Your best bet at this point is to try to claim that the tweet is too small to constitute a "work", and you're just excerpting the tweet stream. From this point of view you pass all the fair use tests. However, my uninformed opinion is that this is unlikely to fly, because we recognize important copyrights on small snippets of things all the time, such as advertising slogans, and in every other way, a tweet is clearly an atomic published work, being independent of all the other tweets in the stream.

Maybe with a good enough legal team and the right judge, you could win a case that republishing a tweet is fair use, but it would be an uphill battle in my opinion.

<comment><USER4> _because we recognize important copyrights on small snippets of things all the time, such as advertising slogans_

I believe that what we're recognizing in the case of advertising slogans is trademark, not copyright. If I'm writing on the topic of advertising, I can perfectly well say "I believe that the new slogan, 'Snickers really satisfies!' may well be the dumbest slogan I've ever heard." without any copyright concern.

At the same time, I couldn't sell a candybar with the slogan "Foonuts really satisfies" due to trademark law, not copyright law.

<comment><USER3> The fair use analysis for citing an advertising slogan is very different than it is for a tweet. You're not affecting the slogan's value the way that republishing a tweet against the author's will can, and the purpose test is more in your favor since you're probably mentioning it to be critical of it in some way.

Based on my experience, at this point I expect someone to start jumping in and trying to slice and dice their way between these standards. So let me try to preempt that a bit by reminding you that you have to be taken to court for copyright infringement before you can make a fair-use defense and that an intrinsic part of the process is the judgment of the court. The judge would laugh M&M Mars out of court if they claimed my citing "Taste the Rainbow" as a trite slogan was a copyright violation, but republishing a person's tweet is a radically different thing, and the question is not "can I weave and dance and obfuscate and blur the question on the internet?", but "can I weave and dance and obfuscate the question in front of a judge?" There is a professionally- trained human hairsplitter in the decision loop, by design.

Mind you, I might still be wrong in my analysis; I'm not saying I can't be wrong, my point is that pulling the whole dodge, weave, and obfuscate move to try to show that I'm being hypocritical or that I somehow disagree with myself is not valid.

</comment></comment></comment></comment><comment><USER5> Interesting. I'm not sure why one would assume a 'tweet' isn't copyrightable. Seems to me that the real question is the part about 'fair use'. What kind of control do you have over a tweet, even if you do have the copyright.

</comment><comment><USER6> Publish and licence your tweets with Creative Commons: <http://tweetcc.com/> The site was started after a discussion with a book publisher wanting rights to use tweets in a book.

</comment><comment><USER7> <http://twitter.com/devinjames/status/1420799605></comment>


Email overload? Try Priority Inbox - <AUTHOR> http://gmailblog.blogspot.com/2010/08/email-overload-try-priority-inbox.html <comment><USER2> This will make me very, very happy. It matches almost exactly with my workflow for using email: certain people (customers) get written back as soon as I check email, other people get responses as time permits, and then I get some notifications which I don't typically act on but do appreciate having surfaced somewhere (e.g. "You sold something" or "Here's your receipt.").

<comment><USER3> Stuart Roseman's startup SaneBox already does something similar - <http://www.sanebox.com>. As a paid service, I guess they are in for some competition.

</comment></comment><comment><USER4> This sort of feature always makes me sad that they announce features before rolling them out to everyone. Now I can't wait for it to show up in my account.

<comment><USER5> I can't agree more. I was really disappointed when found out that I need to wait for release. Most likely I'll forgot unless it will appear on top of HN next week.

<comment><USER6> They announce this sort of thing as "New Features" in the GMail interface itself. So you don't need HN to remind you.

</comment></comment></comment><comment><USER7> #28 of YC's Ideas They'd Like to Fund

"Fixing email overload. A lot of people, including me, feel they get too much email. A solution would find a ready market. But the best solution may not be anything as obvious as a new mail reader.

Related problem: Using your inbox as a to-do list. The solution is probably to acknowledge this rather than prevent it."

<comment><USER8> I was actually already using my inbox as todo list with the Multiple Inboxes lab feature, using labels "Need Reply" or "To Do" for the emails and use filters to address them to the multiple inboxes.

<comment><USER9> I wish the shortcut keys (such as j and k) would reach down into the multiple inboxes. Unfortunately they only work on the top inbox.

</comment></comment></comment><comment><USER10> I've been using Priority Inbox for the last few days. I don't know how I managed my email without it.

</comment><comment><USER11> That promotional video is exceptionally well-executed.

<comment><USER12> Wish I could watch it. Am I the only one who can't stream a full video from YouTube half the time? Either it doesn't start at all, or quits streaming half way through.

<comment><USER13> I get a lot of stuttering due to Youtube throttling bandwidth usage at the server end. Videos start great, but after that initial buffer is done with, it often inches forward too slowly to keep up with the playback rate.

When this happens, and I really want to watch the video, I use FlashGot in Firefox to download the FLV directly and play it back in Media Player Classic.

<comment><USER14> This may not help your particular situation, but I'd urge you to try VLC (<http://videolan.org/>) since it has awesome support for playing YouTube videos. It requires that you paste the YouTube URL into its "Open Network Stream" dialog, but is otherwise painless.

Almost anything has to be better than using Media Player Classic.

<comment><USER13> VLC's user interface sucks, which is why I use MPC. Anything to avoid WMP.

In particular, adjusting zoom, aspect ratio, clipping area etc. with MPC, with the numeric keypad, is completely trivial, but a major pain in the neck with VLC. (E.g. how do you zoom to 102%? To 94%? How do you crop the top 8 pixels, because there's fuzz from overscan there?)

And keyboard shortcuts! Alt-Enter is nice and simple to use with MPC. With VLC, F11 goes full screen but still leaves control gunk visible; Ctrl+H removes the gunk, but - believe it or not - also disables F11! In full screen (F11) and controls hidden with Ctrl+H, it's surprisingly awkward to get back out again. Yes, you can use the "other" full screen by double-clicking with the mouse, but at that point it's clear that it's already lost.

</comment></comment></comment></comment></comment><comment><USER15> Having tested this the last few days, I would raise a rebel army if Google tried to take it away.

<comment><USER16> Gmail is starting to remind me more and more why I like free software so much: I want the ability to hack it to do what _I_ want. The feature I'm desperate for is to have it use specific email addresses with specific people: dedasys.com for most correspondence, gmail with family, maybe hecl.org for that mailing list, and so on. Sure you can change it manually, but it's a pain in the neck.

The reason I don't run my own email any more though, is that the real killer feature of gmail is the spam detection. That makes me willing to put up with their control of my mail.

<comment><USER17> At least Gmail, unlike Yahoo Mail (which I'm currently stuck with), allows free POP and IMAP access. If Gmail doesn't support something, you can hook whatever email client you want to it. There is probably an open-source mail program you can write a plugin for to do what you want.

<comment><USER18> You can switch to Yahoo Asia to forward e-mail for free.

</comment></comment></comment></comment><comment><USER19> This goes a few steps past just reading keywords out of my emails to place ads. This requires Gmail to have intimate knowledge of my emailing habits. While from the software point of view this is not scary, the "profile" data has to be stored someplace other then my machine and it makes me wonder who can read it. Will Google have to surrender my psychological profile upon a subpoena? This is sarcastic, but a real concern. Even if I somehow am magicked into trusting Google, no amount of magic will allow me to trust the government, and anything Google knows, the government has right to.

<comment><USER20> "the data has to be stored someplace other then my machine and it makes me wonder who can read it"

Data being stored someplace other than your machine is the reason why people use webmail.

<comment><USER21> I think he meant the "psychological profile" data, not his email text.

<comment><USER22> Without knowing anything detailed about how all this is implemented, it looks to be derived from nothing more than is stored in your inbox:

The text of the emails, and whether they are read and replied to.

As such it seems like strictly less information than you are requesting that they store.

<comment><USER6> In the presentation they say that it's partially based on what E-Mails you read. So they're tracking more than just the information in your inbox, they're also considering how you _use_ your inbox through the GMail web interface.

<comment><USER23> I'd be surprised if this kind of data wasn't already tracked.

<comment><USER6> Oh yes, Google has explicitly stated that they track stuff like this. I was just replying to the "it looks to be derived from nothing more than is stored in your inbox" comment by moultano. Which is obviously incorrect, and Google even states so in their introduction video.

It'd be interesting to what degree using GMail over IMAP v.s. over the GMail web interface affects the heuristics of this new feature.

</comment></comment></comment></comment></comment></comment></comment><comment><USER24> I hope that this improves their false-positive rate for identifying spam. If a message is borderline, I wouldn't mind it receiving a "low priority" tag instead of being auto-junked. My personal messages are usually classified correctly, but I need explicit filters to save Git and Boost mailing list messages from the spam folder. As a result, actual spam messages that were correctly labelled "spam" are archived instead of deleted, and I still waste time deleting scams and shams.

</comment><comment><USER25> Ironic considering Eric Schmidt disputed the existence of communication overload fairly recently.

[http://techcrunch.com/2010/04/12/eric-schmidt-mobile-is- the-...](http://techcrunch.com/2010/04/12/eric-schmidt-mobile-is-the-future- and-theres-no-such-thing-as-communication-overload/)

<comment><USER26> Perhaps because he's been dogfooding Priority Inbox? :)

</comment></comment><comment><USER27> Counter-productive byproduct: I'm gonna be checking my email until I see that alert come up...

</comment><comment><USER28> This is gonna send shockwaves through the email marketing industry.

<comment><USER29> I believe it will have an impact on the email marketing industry. I can see lots of marketer getting worried. I think however that it will have the worst impact on companies that use their lists in a way that annoy users.

If you simply offer a useful service (and I believe I do with the recently launched <http://anynewbooks.com>) I don't think you are going to be terribly impacted. People will always open emails that they find valuable whether they are newsletters or not.

If all you offer is low quality bacn though, you're going to hate this new Gmail feature.

<comment><USER30> If you annoy people, chances are that you'll end up in their spam filters anyway. This is for the kind of stuff that people leave in their inboxes to read later (or, if they're organized, auto-forward to some "read later" folder).

<comment><USER29> Perhaps 'annoy' was too strong of a term. What I meant was the kind of emails that barely interest your users enough not to mark them as spam. Low quality bacn.

What I'm saying is that it's not the death of newsletters. This new feature is really useful and its negative impact on permission based marketing can be reduced by ensuring that the content you send out is really appealing to your users. Which is a win-win situation, because more appealing content usually leads to more conversions.

A high open rate may mean that your newsletter ends up in the high priority inbox for a decent percentage of your user-base, despite being a newsletter (unless Google automatically excludes newsletters).

</comment></comment></comment></comment><comment><USER31> I run GTD-like system and I am not immediately attracted to this. To me, an email either "requires action" or is "done". Obviously, a lot of stuff goes directly into done (receipts etc.), but I would not trust automation with that I think..

</comment><comment><USER32> I've been doing this sort of thing ever since they introduced the Multiple Inboxes lab feature. It wasn't Gmail's logic, it was my own in a series of complex filters. Here's a screen grab from February 2009: [http://www.flickr.com/photos/johndbritton/3257013239/sizes/o...](http://www.flickr.com/photos/johndbritton/3257013239/sizes/o/)

<comment><USER33> I just use a couple extra tags and filter certain messages to them, archiving them immediately. I only have this for my mailing lists right now, though.

</comment></comment><comment><USER34> Well, that kills my idea of creating a commercial service based on my fast classifier to do automatic labeling of messages in GMail.

<comment><USER35> No it doesn't. You just need to execute better than Google did. For instance, why have 3 classes ("normal", "bacn", and "spam"), why not have 7 or 8 categories instead? How about a better tool for training the classifier so it conforms to your own use? Competition is HARDER when Google gets in the mix, but it doesn't mean you have to give up!

<comment><USER34> You are right. And what I want to do is automatically label the email in arbitrary ways just like POPFile does. Hmm. Maybe I really should work on this since it would work for anyone who has an IMAP accessible account.

</comment></comment></comment><comment><USER36> This is a BRILLIANT feature that I hope stimulates somebody on HN to build around Outlook.

GMAIL hovers around 5% of email client usage.

Outlook still owns somewhere between 35 - 43%.

MSFT was moving in this direction and had a decent solution out a few years back called Email Prioritizer.

Of course, they tossed before it made it out of labs.

Xobni is too complex IMO, what's so compelling about Google's system is how simple it is - it just works, it fits right in. Nice job.

[http://www.officelabs.com/projects/emailprioritizer/Pages/De...](http://www.officelabs.com/projects/emailprioritizer/Pages/Default.aspx)

[http://visibleranking.com/2010/05/most-popular-email- clients...](http://visibleranking.com/2010/05/most-popular-email-clients.php)

<comment><USER37> I think Gmail has much more than 5% of the market. It may be that Outlook is installed on 35-45% of all computers, but nobody currently has numbers for the use of the application. If I can get away with it, I prefer forwarding mails so I don't have to deal with Outlook.

And so should all sane companies: Outlook waste their time.

<comment><USER38> 1) The parent's link indicated that this is real usage data, from Campaign Monitor. CM and similar use tracking pixels, and can detect what client is being used to open the email.

2) I use Outlook all the time, as do many people I work with. Gmail is great for webmail, but its not a replacement for Outlook, especially if you rely heavily on contacts, calendar, tasks, or search.

<comment><USER39> _Gmail is great for webmail, but its not a replacement for Outlook, especially if you rely heavily on contacts, calendar, tasks, or search._

Really? I find Google Apps to be better in all four of those categories, especially search. What makes Outlook superior in those categories?

<comment><USER40> Outlook's market share isn't directly correlated to its capabilities. Many large organizations force their employees to use Outlook as their corporate standard.

</comment></comment></comment></comment></comment><comment><USER41> I need this to be integrated with the filters they already have.

For example, when my dad forwards me every joke that's ever been forwarded to him over the last 24 hours, I don't want them cluttering up my important emails. However, if he actually writes something (rare, but occasionally happens), than that's important. Integrating this with the filters would allow me to use the FWD: and FW: subject line tags to segregate his important vs his non-important emails.

</comment><comment><USER42> I've had a _similar_ feature (without the training part) in GMail for a while now. GMail Labs has a feature called something like "Multi Inbox". It shows other searches/labels of your choice on the front page. I set it up to show Drafts, Starred and a "To Do" label and have been running a system much like this shows, just prioritizing stuff on the fly. Given you can see drafts and such stuff, this might even be a better alternative for some.

<comment><USER43> Interesting. People who actively use Multiple Inbox lab in GMail usually have the same or similar configuration. (Starred, Drafts and label:toread for incoming links — that's mine).

Looks like a pattern.

</comment></comment><comment><USER44> Anyone know who made that video?

<comment><USER45> I'm guessing it's internal, put together by Google people on their 20% hours.

Technical people can be creative, too! At least, that's what I'd like to think.

<comment><USER46> I'm guessing it's internal, but made one of their marketing teams. ([http://www.notesondesign.net/inspiration/advertising/google-...](http://www.notesondesign.net/inspiration/advertising/google- gets-creative/))

</comment></comment></comment><comment><USER47> Anybody else got the auto-playing music? For a while couldn't figure out where it was coming from, then I saw the red sign for the new Priority Inbox and at first selected "No thanks" but that did nothing, and not until I accepted to turn it on did the music stop.

A bug? or some Google's programmer idea of being "helpful" or "funny"? I did not appreciate it.

<comment><USER48> What browser are you using?

<comment><USER47> Google Chrome 5.0.375.125 beta on Ubuntu Lucid

</comment></comment></comment><comment> loup-vaillant Awesome. Now can we do it on a local MUA (Thunderbird, Mutt…), or on an MDA (procmail…)?

I like to own the computers that analyse my personal data. <http://news.ycombinator.com/item?id=1648400>

<comment><USER49> From the video, it looks like they have a Bayesian-style mail filter, but instead of applying it to find spam, they apply it to find important mail. This is not too hard to set up; the tricky bit they've automated is analyzing which emails are read and replied to, as opposed to just which ones are marked, so it's more automatic.

</comment></comment><comment><USER50> I use simple Outlook rules to automatically highlight emails from important people and friends...

However, this sounds like a "reverse bayesian spam filter" that instead of filtering out spam is filtering out "most important email" and learning over time ?

It shouldn't be too hard adjusting SpamBayes or similar filters to do this, should it ? Anyone know about any solution for Outlook ?

</comment><comment><USER51> Sounds a lot like SaneBox, except with only one level of priority instead of a few graduated ones.

</comment><comment><USER52> Hopefully this will be available for Google Apps hosted email.

<comment><USER30> It says so in the announcement, so that's pretty likely.

"Priority Inbox will be rolling out to all Gmail users, including those of you who use Google Apps, over the next week or so."

<comment><USER52> Don't know how I missed that. Thanks.

</comment></comment></comment><comment><USER53> Ooo, I've been looking forward to when I can use this for my personal account too. It takes some training but it's highly effective after a while.

</comment><comment><USER54> I wonder how this feature will translate to in the Android Gmail client.

</comment><comment><USER55> Looks like it is not yet available to "the rest of the world" - Asia :(

</comment><comment><USER56> I wouldn't mind a similar system put in place for Google Reader next

</comment><comment><USER57> This is pretty awesome, I just hope it plays nicely with OtherInbox.

</comment><comment><USER45> Don't know if this is the best place to bring it up, but I don't think "bacn" is a good word for low-priority email. There are a lot of passionate email users who are even _more_ passionate about bacon.

There could even be a backlash.

</comment><comment><USER58> After four drafts of my response, I think it can be summed up in one sentence: Minus the paranoia, murder, and mayhem, Ted Kaczynski might have been on to something.

</comment><comment><USER59> I just use <http://www.unsubscribe.com> and it fixes my junk mail and mailing list problem once and for all.

</comment><comment> mike-cardwell Um. I use sieve to classify mail and filter into different folders. Sieve is about ten years old.

If Google announced that they were supporting the managesieve protocol and/or allowing people to edit sieve filters for their account through a web interface, _then_ I'd be impressed.</comment>


What do people write about in customer product reviews? - <AUTHOR> http://keksrolle.de/2013/06/02/what-do-people-write-about-in-customer-product-reviews.html

<comment><USER2> pretty nifty. thinks "humble" is a negative word:

[http://ireadless.com/PUMA-Men-s-V5-11-I-FG-Soccer- Cleat/?act...](http://ireadless.com/PUMA-Men-s-V5-11-I-FG-Soccer- Cleat/?action=showProduct&id=B004ZIP54O)

<comment><AUTHOR> Thanks for your feedback. We tune the algorithm constantly and try to get more precise. Most issues are with sarcasm and ironic statements. We try to get better.</comment></comment>


The philosophy of great customer service - <AUTHOR> http://sivers.org/cs

<comment><USER2> Derek's first principle is true on so many levels:

<< #1: You can afford to be generous - The #1 most important mindset to start with, underlying everything, before engaging in communication with a customer or client, is that your business is secure.

Even if it's not, you have to feel that it is. Money is coming your way. You are doing well. You are one of the lucky ones. Most are not so fortunate. You can afford to be generous.

All great service comes from this feeling of generosity and abundance. >>

Investing in your existing customers is one of the highest ROI marketing efforts you can undertake. You've already paid to acquire these customers - and any incremental investment you make in them is usually going to be less than the cost of acquiring a whole new customer. Plus, it's the right thing to do - to make sure that everyone has a great experience.</comment>


FB Web OAuth is down - <AUTHOR>

WTF. <comment><USER2> Now I starve. I just went to papajohns.com, automatically redirected to a Facebook error page.</comment>


Ask HN: What would you love to work on? - gaia-forming

We all either do or do not work on stuff we really care about.
If you do not, what would you love to work on.
If you do, what are you working on?
It can be hacking related or anything else. <comment><AUTHOR> If I ever had enough money, I'd love to start my own software non-profit, like the Mozilla Foundation. There's so many small bits of software that really make a difference in everyone's day-to-day life (whether you're an average Joe or a hardcore hacker) that don't ever get fully developed because there's no commercial market for them. With a few million dollars (which is enough to just work off of the interest), you could easily set up a scholarship program for talented students to do some part-time development on these projects, and it's sort of a win-win for everyone involved.

</comment><comment><USER2> Safety-critical software. I've done some work on air traffic control systems and medical equipment and enjoyed it.

<comment> gaia-forming Lot's of unit testing I'm sure :)

What languages do those industries use?

<comment><USER2> There was indeed a lot of unit testing as well as very intense reviews of every single line of code. We used C and Linux as we needed an operating system that wouldn't kill people. You had to have a minimum of twenty years experience to work there. An upside was that there was no pressure at all about shipping the product before it was ready, even though we were well behind schedule. The downside was that you were allowed one mistake in your code. You were fired for the second one.

<comment> gaia-forming Interesting stuff, thanks for sharing.

I think a lot can be learned from that industry.

1\. Write defect free software from the get-go

2\. Take your time

<comment><USER3> ...if you're in that industry.

</comment></comment></comment></comment></comment><comment><USER4> Writing interpreters using functional programming.

I'm actually doing this now -- writing interpreters for DSLs using Clojure at my current job at Health Market Science. Even though it blends in with all the other companies as another lame Java shop, I have actually had the opportunity to work on very interesting problems, and I have had enough freedom to use cutting-edge tools. I even prototyped a JRuby on Rails frontend that called into one of my interpreters written in Clojure. For some reason, I have always loved writing interpreters.

</comment><comment><USER5> Computer vision for autonomous robots.

I've done a lot of 3D graphics and I think working on the inverse could be fun too. I think a lot of progress is going to be made quickly now that 3D depth- sensing cameras are becoming available. Most interesting to me are self- driving cars (e.g. the DARPA Grand Challenge robots) or dynamically balancing 2-legged anthropomorphic robots (e.g. Honda's ASIMO).

I don't know anyone in the field, so if I was really going to pursue this I'd probably start by going back to school.

</comment><comment><USER6> Printmaking. It's meticulous, and I am not --- it stretches me, and makes me feel like I'm _working_. I love holding all the technical details in mind (how much ink, how much acid, how much light, this is toxic, that is flammable) while still maintaining the vision, trying to give an emotional, intellectual, _physical_ experience to anyone who sees the product. It's people-hacking.

Also, I'm designing a programming language. But these days, who isn't?

</comment><comment><USER7> Aircraft. In particular from the start to finish of designing a light two seater aircraft.

I think we could improve safety a lot with modern glass displays. For example, we have the weather report from XM, and we have the pilot's flight plan on computer. Why not warn them if this flight would be dangerous (or dangerous for their experience level).

<comment><USER8> My most beloved hobby is radio controlled helicopters. I would love to do something involving autonomous aircraft. Control systems and navigation. Should have gone to school, I guess.

</comment></comment><comment><USER9> Formal methods for proving timeliness, correctness, etc. Preferably in tools that mechanically verify those properties.

</comment><comment><USER10> What frustrates me most* is hardware. I'd love to be able to work in a context where I can do something about its deficiencies.

* In terms of intensity: not frequency and maybe not averaged. The idea of being able to fix the software I use makes it more bearable, even if I rarely take advantage of that.

</comment><comment><USER11> Incoming training manager at an expensive brothel chain.

Seriously though, seems like this question gets asked about every two weeks around here.

I love flying airplanes. From the first time I sat in a cockpit I knew that I would rather fly than anything else. But I also knew that making a career out of flying would be the worst thing in the world to do. Why? Because sooner or later it becomes a _job_ , just like all other jobs. And when your passion becomes mundane and tiresome, you lose something. Wouldn't it be better to cultivate more things you love instead of just having one and beating it to death?

I've found that _motivation comes after action, not before_. That means that loving something in the abstract is usually much more fulfilling than the concrete. I've also found that once you pour yourself into something, the love will naturally come. Lots of folks wait around for some kind of epiphany when what they really need is the gumption to go out and start something.

<comment> gaia-forming > I've also found that once you pour yourself into something, the love will > naturally come. Therefore, it's wise to choose something you love _and_ > that's going to pay off.

</comment></comment><comment><USER12> If I had enough money to meet my current goals sorted out I'd study to be an osteopath at a good school. It's a lot like hacking, and it directly helps people who are debilitated in a way with which I identify.

</comment><comment><USER13> Life is tooooo big to get stuck working on only one thing :P

<comment><USER14> Agreed, I want to go freelance and get to work on a lot of different projects and things constantly.

</comment></comment><comment><USER15> I'm (technically speaking) working as a PHP and Common Lisp developer for my own startup.

I'd love to do more Lisp, or in another universe, I'd love to work on engines and wish that I knew more about their design, power, efficiency...

</comment><comment><USER16> I'm working on a game in PyGame right now. It has a cyberpunk theme, and a little spirituality in the story. Of course it's open source. I also work on an another open source project, with my friends. It's a localization tool.

</comment><comment><USER17> I don't know what I'd love to work on.

If you'd asked me a few years ago, the job I described then would be almost indistinguishable to the job I have now. But I don't enjoy it and feel:

a) I know this is a good job and I _ought_ to be able to love it, there's something wrong with me.

b) If I feel this way about this, wouldn't I feel the same about any other job that seems good now, if I did get to do it?

c) Guilty that this is a good job and I'm not making the most of the great opportunities it's giving me.

I fear the kind of ant-in-a-massive-system job, such as "Legal Department E-mail Archive Storage Administrator" and I love the idea of "Independantly Wealthy Research Lab Owner" where I get to be involved in a lot of different things at a high level.

<comment><USER18> +1

</comment></comment><comment><USER19> Comic books. If I had my druthers, I would somehow be working in comic books. At some point in my life, I had a good deal of artistic talent, though the years I spent goofing off in puberty seem to have killed it entirely.

It's something of a dying art form, as most print-based things are, but also seem to have resurged in many ways, especially as movie properties. I'm eagerly waiting to see whether or not TakeComics succeeds as becoming the iTunes of comic books, and whether or not it spawns any cottage industries or ideas as a result.

<comment><USER20> is there anything like cafepress or threadless for comic books? could be a really cool way to keep a dying industry going.

<comment><USER21> Copy shop?

</comment></comment></comment><comment><USER22> I'd love to work on putting an autonomous robot on an interstellar body.

</comment><comment><USER23> Space industry

Games industry (but only the kind I like)

</comment><comment><USER24> I _am_ working on exactly what I want.

I have worked on business systems in many companies (mostly enterprise) and learned quite a bit. But the biggest thing I learned is that companies rarely have the applications software that they really need to compete.

I am building an environment and applications that I wish I would have had all those years. This is a great opportunity to put into software all the things that could have been along with all the things that were.

It's hard not to love working on what you really want.

</comment><comment><USER25> I'd love to work on a generalized recommendation engine. After spending a fair amount of time tinkering on the Netflix prize, I now see countless sites and apps are in need of generalized recommendations--on the scale of being another layer we need on top of the web. And the topic pretty quickly drops you into the deep-end of mathematics, so developing that kind of challenging software is a plus.</comment>


Show HN: Extract the contents of files using data recovery techniques in macOS - <AUTHOR> https://macdaddy.io/file-extractor/ <comment><AUTHOR> It'll automatically unzip, decode UUEncoded files, and jump through other hoops to get at the underlying data to present it to you transparently and on- the-fly.

This is using the same data recovery engine which forensics software uses that I wrote which has been purchased in bulk by the CIA, FBI, and various other government institutions around the world.</comment>


Show HN: A simple transactional email service built on SES - <AUTHOR> https://mailia.co/ <comment><AUTHOR> The world doesn't need another transactional email service, but I built one anyways!

The main feature I had in mind when developing it was making debugging super easy. There's a really nice UI for searching through emails you've sent and checking their delivery status.

All email is delivered through Amazon SES.

Although building this probably wasn't the most productive use of my time, I definitely learned a lot in the process!</comment>


Ask HN: Our college is teaching us outdated technology - <AUTHOR>

One of my colleagues just sent me this quote saying "I think this is how our college works":
"At the end of your four years of torture in university, there is the tendency to think that "I've learned all there is to learn"… only to come out into the real world and realize, "I've been learning outdated technology!""
We are basically learning stuff like XML, XSD, XSLT, JSP... I'm not saying anything of this is useless but I think priorities should be somewhat different, like learning JSON instead of XML, PHP instead of XML+XSLT...
I wonder what is correct way to tell professors that we are learning something that won't get us job as "easily" as PHP/Javascript would. Are there any other proposals that would improve our college program which I as a student can propose? <comment><USER2> You're going to have to live with this - the point of college is to teach you how to learn.

Longer version:

For the last two years I've worked for a major university - one of the top fifty. Prior to working for the university, I spent thirty years in industry. During my time in the commercial market, I thought of universities as ivory towers were everything is the latest and greatest ... because reading research papers only shows you the latest and greatest.

When I got here, I was shocked to find that many of our systems were 15, 20 or even 25 years behind those we were using in industry. Not that they weren't stable, but since our primary job is to "educate the youngin's", working systems were valued but there is no competitive advantage to replacing them.

My son is a super-senior in college, and I've noticed that the information he's learning is (on average) five to ten years old. And this actually makes sense. Research is bleeding edge, but much of it isn't commercially valuable. Since undergrad degrees are supposed to produce graduates who can obtain jobs in industry, industry generally has to adopt a technology before it's likely to be used in education.

Once industry adopts a technology, a professor (or department) has to recognize that adoption, make sure it's not simply a technology fad, verify that it aligns with the theoretical approaches that are valid and develop a curriculum.

Your university is actually providing you a valuable education by focusing on the technologies that are valued in industry, albeit a little behind the curve. Why? Because JSP is still used by a huge number of corporations and as a mark-up representation it's a pretty good example of many comparable technologies. Furthermore, JSF has been strengthened in the latest JavaEE releases and many large corporations have adopted these changes.

What if you don't want to work for a big stodgy corporation? You probably didn't need to go to a big stodgy corporation, but I question whether you're really following the technology trends very well. "PHP instead of XML+XSLT" sounds like a horrible way to do ETL, even for a start-up. Why wouldn't you pick NodeJS in that instance?

There are thousands of technology stacks and it's not practical for your university to teach all of them to you. how invested are you in learning the ones you're curious about outside of your classwork? You do realize you're responsible for your education and career right? If you don't learn new technologies on your own in the corporate world, you'll be quickly outdated.

So finally, my suggestion: Learn one of the technologies you're interested in, then go have a discussion with the professor about how that technology compares with what he's teaching you. I'm hoping he'll be intellectually curious and engage deeply in a conversation like this - recognizing that he can also learn something in the process. If not, your professor has indeed failed.

<comment><AUTHOR> Thanks for your reply it makes sense.

This fellow student also said something along this lines:"Next year I'm dropping out, I can learn 10 times more on my own than here...". What Do you think of this? Is this good decision?

Few of you mentioned "The point of college is to teach you how to learn", which seems interesting but it doesn't seem useful for me anymore since I already know a lot of stuff/tech, should I also drop out? What is your suggestion for a student who is amongst the best in college? (I already had a few job offers from start-ups in my country, I have good references, I'm researching on my own, won a few Computer science competitions...). Currently I'm working for a startup and completing first year of college, but replies here got me thinking - I might drop out next year.

I wrote PHP just as an example I actually had Node written there but then I changed my mind and wrote PHP instead of Node, because its more popular. You can replace PHP with anything more popular/new/trendy/useful there.

<comment><USER3> I've been programming before I got into university, and for me, there would have been a lot of stuff I wouldn't have gone to learn on my own if I hadn't heard about it in university. Going to university exposed me to new ideas I could further explore deeply in my own time. It also help formalised some of my knowledge, for example the language theory behind regular expressions, as well as what OOP means exactly. More ways to describe concepts in my head, I think, has helped me compose bigger ideas.

Today I'm working as a web developer using Django in Python. I'd imagine if it wasn't for having watched my professor demonstrate a cgi C program web server, I wouldn't have gone on to dig up rabbit holes in php, rails, app-engine, and finally django in my own time, and I suppose rather than working as a web developer (and doing "real engineering" using version control, unit testing, integration testing, etc... all of which I first heard about in university and then further explored in my own time) I'd be slaving away in a company which works without version control and wouldn't know any better. And yes, don't laugh, I have indeed worked in a company part time without version control, before I learnt about it in university; when I did learn about it I introduced it to the company, and then _quit_. Let me tell you they were very grateful I told them about it. Nowadays they no longer merge code by hand.

        "Next year I'm dropping out, I can learn 10 times more on my own than here..."

I have found that to be generally true, i.e. I learn 10 times faster, on my own time, than attending lectures and doing tutorials and doing assignments, all of which were dumbed down for the average student, but in spite of that, university has still been worth it for me.

<comment><AUTHOR> This seems to be good perspective on college, but I still don't think college have more upsides than downsides for me or anyone else who follow sources where latest tech is exposed (HN, reddit, ...). All the things you have mentioned (Version control, unit/integration testing, ...) I have already heard of or I already know - I'm not saying there isn't something else but I think I will get to know more and more things as I learn on work or by developing side-projects or just reading somewhere about it.

Damn I'm desperate, wasting my time with folks who are totally uninterested in learning something on their own, learning something that probably wont help me in future...

</comment></comment></comment></comment><comment><USER4> I was taught about XML, XSD and XSLT. When I got to industry, this made me wonder why we stuck with unstable JSON APIs and hand-coded validation, instead of using schemas for validation.

I was taught about SQL. When I got into industry and started using MongoDB, I wondered why data would go missing, and then realised it's because transactions are often a very good thing to have.

I learned some Modula 2, in 2011. Not because we were writing Modula 2, but because we were writing a compiler for it.

I've found quite a few times that while the technology we learn is old, there are many beneficial lessons to take away from it. Not just general theories and processes, not just learning how to learn, but there are actually some seriously good ideas in software development that new technologies haven't got, and often we in the startup/SV scene either haven't learnt them, or don't think they are important because they're 'old'.

I have several times found myself speaking to engineers who proudly 'didn't go to university' or taught themselves, to be hugely behind in terms of knowledge, and they just end up re-inventing things which have been around for decades, usually in Javascript. Re-invention isn't always a bad thing, it often injects new ideas, and the new versions can be really great to use, unlike some older technologies, but I think a significant number of people who think colleges are teaching outdated technology probably need to go to college.

Disclaimer though, this is based on my experience at one university, in the UK. I understand it might be different in the US and at other universities. I just find it frustrating when I know that my degree has taught me a huge amount of very useful stuff that I know some people in industry are lacking.

As far as getting a job goes, if you actually look at what most places want, it's Java, XML, C#, etc. Maybe not in the startup world, but the enterprise market is considerably larger, and ultimately where many people end up working.

<comment><USER5> >to be hugely behind in terms of knowledge, and they just end up re-inventing things which have been around for decades, usually in Javascript.

I have taken a few university courses, but have primarily taught myself and would greatly appreciate if you could expand on this.

<comment><USER6> A good University will teach you things you would almost never come into contact with on your own.

I will give you some random examples from my own degree. Some concepts are quite practical and others are theoretical, but all of the examples below taught me -- as someone who had started programming when he was 12, back in the DOS era -- something new.

\- Data structures. I had played around with them myself before I went to university, but being formally introduced to the concept of data structures: lists (Queues, Linked Lists, Stacks); trees (Binary, B-Trees, Heaps, etc.) and the performance characteristics of each and how you would apply them. In my university it was first taught with mathematical notation followed by practical implementations in Pascal.

\- Learning Prolog in my first year. An entirely procedural language that uses back tracking to 'solve' relations based on rules and facts. I loved this class. Prolog's not terribly practical but it taught me a lot about abstract data types and 'recursion'. The idea that a list is defined as a head (the item in a list) and the tail (the rest of the list) which can be iterated over recursively was a major eye-opener to me, an until then hobbyist coder.

\- Haskell. A stark contrast to Prolog and Pascal, I learnt the power of composability and the ability to capture complex ideas with very powerful constructs and a very strong type system. The language is lazy so you can operate on infinite 'streams' of items which is another interesting way of thinking about the theory of computation.

\- We were taught how to specify a PDP-11 (RAM banks, CPU, I/O) using an academic language that uses "rewriting logic". It was a very theoretical yet practical way of specifying a computer using only mathematical principles. The idea that the number 0 and the successor function is all you need to define the natural numbers and, combined with recursion, basic arithmetic was again the sort of thing you never ever do outside University.

\- Compilers. I wrote compilers using lex and yacc. I have used that theory -- and the theory of regular languages -- to great effect since then to formally construct grammars and parsers for tasks I needed later on in life. And I could do it effectively and efficiently without reinventing the wheel or coding myself into a corner -- which is easy to do with compilers.

\- Computer graphics. Basic convolution filters; image processing and the general theory of 3d graphics.

\- Graph theory. When I first took it it seemed utterly "useless" but it has since then been one of the most useful things I know. I grasped the concept of Git right away thanks to that knowledge.

\- Operating systems. Networking. Basic security. Complexity theory (the study of algorithm complexity) -- and the list goes on.

I remember maybe 30% of what I learnt but I can quickly jog my memory or pick up where I left off. I consider my degree invaluable from an academic sense...

... but it did nothing to make me a better _developer_. That, unfortunately, is something you have to work hard at. I got lucky: I had already been programming for 10 years by the time I graduated.

</comment></comment></comment><comment><USER7> First of all, college isn't vocational training. So get over the whole "get us a job easily" thing.

Your employment is dependent on the effort you make towards your chosen career.

The true purposes of college is to teach you how to learn, to expose you to many new ideas, and to give you the opportunity to focus your life on thinking with the least amount of distraction.

If the curriculum is different than what you desire, then write your own curriculum, enroll in independent study classes and discuss with your advisor how you can achieve your goals.

If you approach it from your personal perspective you'll have much more success than if you approach it in the way you state "tell professors..." or "improve our college program". Those are bureaucratic battles and who wants to learn about the gnarly dark under belly of academia? You can go that route, but to win you'll end up spending your nights and days formulating presentations to administrative decision makers. YAWN. Institutional change is hard in all the wrong ways and dull in every way. And you know what the most likely outcome will be? A dean will agree with you and promise to look into adding a JS class in the 2015-16 academic year. You'll feel victorious but the dean will forget about in 10 minutes.

By taking personal responsibility for your own curriculum you can achieve something greater than a college degree. You will learn and exhibit two of the most important attributes in the software industry: initiative and independent self education. If you master those skills you're well on your way to a great career in engineering.

</comment><comment><USER8> There's also the fact that older doesn't necessarily mean outdated or unused. There are still _many_ jobs out there that require XML, XSD, XSLT, JSP, etc.

Organisations have software that's been around for many years, in many instances decades. Curiously they don't rewrite everything just because COBOL or Java or C++ or whatever has become unfashionable among some portions of the dev world ;-)

<comment><AUTHOR> As I wrote in original post: "I'm not saying anything of this is useless but I think priorities should be somewhat different"

<comment><USER8> Why?

Genuine question ;-)

What utility value will you get out of PHP rather than Java? Why should priorities favour the PHP over Java, or C, or Lisp, or whatever?

I still have this vain hope that folk will get back to teaching programming - rather than specific programming languages. During my degree back in 1988-91 we built non-trivial programs in all of: Pop-11 (yes - nobody has heard of this ;-), Prolog, Lisp, ML, Modula-2, C, plus some stack-based assembler whose name escapes me at the moment. Not to mention trivial playing Smalltalk, Occam, shell scripting and probably others that I've forgotten. And this wasn't even a straight CS degree!

Sometime between now and then the universities started chucking out people who were just taught Java, or Python, or some other single-language.

Sigh.

I seem to have ranted a little off-topic... I'll shush now ;-)

Sometime

</comment></comment></comment><comment><USER9> I'd worry more about the general topics that your learning, rather than the technology that your using to learn it.

Are you in a Computer Science class or a bogus how to use technology X class.

Are you learning Discrete Math, Big O, how to write a compiler, assembly language (doesn't really matter what platform).

If your learning CS, then you will have the tools you need to tackle any job using whatever tools you have at hand.

The "huge" differences between JSON and XML, don't really matter, if you can write a parser...

</comment><comment><USER10> I sympathize with how you feel, and I think some of these responses miss the point and are kind of inappropriately harsh for someone asking a perfectly legitimate question. I know plenty of CS students/grads feel the same way. I certainly do.

I definitely agree that college is _partly_ about exposure and teaching you how to learn, but it's ridiculous to say that it's not their responsibility to teach you technologies that you'll be using professionally. Yes you should take it upon yourself to learn what you want or need to know. But with the cost of tuition - they should definitely be doing more than they are.

I know at my college (graduated in 2011), there seemed to be a disproportionate offering of courses that one would use if they wanted to become a video-game developer or an enterprise software engineer. They taught us very little about how to actually program for the web.

Getting back to your question.. heres' a couple things to keep in mind:

\- It's not the same anywhere. There's a range in curriculums depending on what school you're at (and even within the same school). Some specialize in different things. Some have different philosophies. And some are better than others.

\- The truth is, there's so many languages, libraries, frameworks, and technologies - and they're expanding in all directions faster than anyone can keep up. The only thing you can do is try and pick the ones that matter to you (based on what your aspirations are) and specialize. Anyways, given all this - imagine how hard it is for the universities to keep up themselves while designing a curriculum that can fit all of their students.

As far as what you can do - I'm not sure there's a whole lot you can do within the confines of your university, unless you were super adamant to the point of organizing events/rallies or pestering the hell out of your professors and school until they make some changes. And even then, who knows if it would work and in all the time you'd spend - you could probably have taught yourself a few of the things you're pushing to have them teach you.

Here's a couple other solutions:

\- Find a professor/TA you like and knows some things you want to learn, and try to get them to tutor/mentor you. (In my experience, this one is hard because everyone's busy)

\- Transfer schools. But do your research first to make sure you don't wind up in the same situation.

\- Adapt by teaching yourself the things you want on the side. Tackle small projects, each with one or two new things you want to learn. (this is what the other responses were advocating, and I think you need to get in the habit of doing this regardless)

Hope this was somewhat helpful.

</comment><comment><USER11> > We are basically learning stuff like XML

I find this hilarious because before I can go further into hacking into fancy cutting edge deep learning models, I have to process years and years of XML data from an external party.

As someone else said, the only purpose of University is to teach how to learn. Everything else is up to you. Again, there are places that teach you specific skills that are job relevant now (Codeacademy/Bootcamps). You could very well do them and get a high paying job too.

However.

Figure out what you want to eventually be in life. Do you want to be a high paid janitor who can be easily replaced? Or do you want be the guy who can see through all the bullshit frameworks and design solutions that are robust. The guy who remains relevant at 40.

</comment><comment><USER12> If you feel uneasy with college, and you already have the skills you need, skip a quarter, semester or whichever time measure your college uses.

Your college should have a head professor, talk with him, explain him your feelings, and scrutiny the curriculum with him. He should give you more insight about where you might not be as good as you believe, and you will get valuable hints about where to start learning on your own.

Take the time you skipped to experiment what is to be a self-educated person, try to research on your own, read books, attend online courses, build projects, and everything else you find comfortable with to learn at your own pace.

If you are completely sure that you don't need college anymore, and you feel comfortable being a self-educated person, drop.

EDIT: In the country where I live (Mexico), there is an institution named CENEVAL[1], where you can graduate by knowledge acquired through job experience and self-education. Maybe in the country where you live there is a similar institution.

[1] [http://www.ceneval.edu.mx/ceneval- web/content.do?page=1927](http://www.ceneval.edu.mx/ceneval- web/content.do?page=1927)

</comment><comment><USER13> The stuff you're learning isn't outdated. It just might be more career-focused rather than front-page-hacker-news-or-reddit-worthy.

The example I like to bring up over and over again on HN is Union Pacific, because it is a great example. You will probably never see an article on the top of HN about railroad .NET or Java code, but it helps drive the US economy. (and they pay well. I have younger friends out of college that made $55 immediately and more experienced devs making $100K, which is insanely great compared to California given the cost of living differences. You're talking about owning the equivalent of a million-dollar CA home at 25 with cash to spare. )

</comment><comment><USER14> tl;dr Use your college life to build cool stuff, just because you can. You won't have that liberty once you come out

> I might drop out next year.

My guess is that you are serious about this. As a student myself, and having been thinking on similar lines over three of four years of my college, my opinion is - finish what you started. It is absolutely true that what you learn in college is outdated. But, what you get in college and don't get once you come out is the sandboxed environment. In college, you are free to explore your will, do whatever you want (even find co founders, if you are enterpreneural); there is no pressure. The pressure palpably increases once you come out. You can do that (do cool stuff for fun) even after college, but it's infinitely harder.

> since I already know a lot of stuff/tech

You might be the best in your college, but never let it get into your head (I'm not saying you are)

PS: It became a long reply in the end. My apologies

<comment><AUTHOR> I think I have this luck, that in my country I can repeat one year of college (free of charge), so I will probably drop-out (fail one year intentionally) next year and will experiment for a year - hopefully I will be successful as I plan.

"even find co founders, if you are enterpreneural" \- I'm trying this the whole time not just in college but with everyone with IT interests. People in my country are just not that ambitious - they just want a safe job and an average salary. This one student to whom I've been talking too seems to be someone who I should hang out with.

<comment><USER15> If you don't mind me asking, what country are you in?

<comment><AUTHOR> Slovenia (Southern part of Central Europe)

</comment></comment></comment></comment><comment><USER16> Everybody has gone through this - it's a staple of college. You're there to learn the basics and to learn how to learn.

If you aren't working on your thing and researching your own technology stack during college you're doing it wrong. Of course you're going to come out of there knowing nothing but old tech.

</comment><comment><USER17> Personally, I would be way more interested in someone who came to me and said "Here is a class project originally written in X that I rewrote in Y because your job description included Y and not X" then someone who had originally learned Y in school.

</comment><comment><USER18> The most valuable lesson you will learn in college is "how to learn." Put the attitude away and start learning.

</comment><comment><USER7> Also, fix your damn title. "Our college is learning us outdated technology". Really?

<comment><USER2> I almost commented on the title, but I was guessing the poster might not be a native English speaker. Since you've brought it up, one correct way of phrasing the title would be "Our college is teaching us outdated technology".

<comment><USER7> I refrained for commenting on it for as long as I could. I weighed the non- native speaker too but finally old George Bush quotes pushed me over the edge.

;)

<comment><USER2> George Bush was the decider!</comment></comment></comment></comment>