Glio (YC S13) Aims To Be The "Yelp of Brazil" And Beyond in Latin America - <AUTHOR> http://techcrunch.com/2013/08/06/glio/

<comment><USER2> Why isn't Yelp really making an effort to capture the market in other countries? There are many [0] "Yelp for Country X" clones out there. Billions of people outside the USA want to find food, attractions, shopping, etc. All it takes is one clone to take off in a country, and the window of opportunity is gone.

A friend showed me how to use Dianping (the Yelp of China) which has no english UI or reviews, and very little use of iconography in the category selection. Once a friend showed me how to sort by avg review, price, distance, etc, just browsing pictures I was able to find somewhere I was interested in going in a few minutes.

[0] [http://www.quora.com/Asia/Is-there-a-Yelp-for- Asia](http://www.quora.com/Asia/Is-there-a-Yelp-for-Asia)

<comment><USER3> Probably it's just to expensive to defend from litigation on the user generated content business when it's about reviews for other business... i'm taking that out of my butt as i have no idea. but i sure as hell was infuriated when i couldn't use yelp to check places not protected by the NSA.

now i use foursquare in the US, even though the reviews are less abundant, the paid reviews (just read _any_ mechanic review in yelp!) are almost nowhere to be found.

yelp is just blind trying to monetize US and digging it's grave.

</comment></comment><comment><USER4> Like the TC article mentions, there have been/are other players in the market, though, to my limited knowledge none have been able to get a ton of traction. Honestly, I just don't see a Yelp-like site taking off country-wide, but I wish them luck. The reason is that Brazil is pretty fragmented and trying to get a site that people use in Rio-SP to be used in Manaus or Fortaleza, for example, will be their up hill battle. In the several recent years I lived in/all over Brazil, I thought many times about "what if Brazil had this or that service?" but in the cases where there was some sort of cloned-US (or even original) service that I could use, once I moved to the other side of the country, that same service was no longer useful due to the concentrated userbase.

The likely other market would be Belo Horizonte, since RJ-SP-BH are where most of the startups [1], and presumably early adopters, are. 1 - Brazil's Crunchbase [http://www.startupbase.net/](http://www.startupbase.net/)

By the way, here's Glio's numbers (translated)

\- 75% of the published reviews are positive - 4/5 stars

\- 450 people on average read each review

\- 400,000 consumers have already used Glio

\- 1 million page views

\- 4 million characters written in user reviews

<comment><AUTHOR> Yes, that's one of the main challenges with Brazil & Latin America -- to make sure we get every single city's unique aspects right, we're going to roll out one city at a time.

And Belo Horizonte is for sure one of the most promising next cities where Glio's product can be really useful.

By the way, I've got to update the About page numbers, those are from a while ago.

Thanks a lot for the feedback.

<comment><USER4> No problem.

Just an idea or two, btw. Glio could make a video, like the 'about' page one, for each city, showing people interacting with the city you're rolling out in. With 4G being installed, at least in the World Cup cities, it will be a boon for your service.

Another suggestion, in case it's not already a feature of Glio, is to implement ReclameAqui's company response ability (Resposta da Empresa/Reclamações Atendidas), at least privately so a company can respond to negative reviews and invite the user to come again to try them out and perhaps change their mind/review.

<comment><AUTHOR> Both are great ideas, thanks!

</comment></comment></comment></comment><comment><USER5> Too bad they require a facebook account to even view their website...

<comment><USER6> I don't think that's a big deal in the US. I wonder how much penetration Facebook has in Brazil. Is it as popular as in the US? You could almost do a Bay Area focused review site which required FB/Twitter/hn/bitcoin/AWS and have enough users available to be viable, but I'm pretty sure in Russia or China you couldn't require Facebook and still be viable. I only have one Brazilian FB friend, but that seems more a limitation of my social circle than an indication of FB's Brazilian success.

<comment><USER5> FB is pretty popular here...

But if I was planning to make a site for reviews, I would not be putting barriers just to view it...

disclaimer: I don't have a facebook account...

<comment><USER6> From what I've seen of review sites, being moderately exclusive on review _authors_ early on is totally fine; you just want to make sure Google/etc. can bring readers in.

</comment></comment></comment></comment><comment><USER7> Glad to see a Brazilian startup getting accepted at YC.

</comment><comment><USER8> "Riccio said there is no existing dominant market incumbent, although there are competitors like Foursquare, Kekanto and Apontador."

Well, geez, no crap Sherlock. There will be one dominant incumbent once someone reaches that position (even though 4sq looks like it's ahead of the competition). Kekanto was selling themselves as the "Yelp of Brazil" as well.

When reading about Brazilian startups I can smell the naivety _from a distance_. Somethings may be lost in translation as well (their english is good, but not that good). But it's ok, foreign investors are also naive (in some aspects and better at others)

That being said, all the best. Their tone on the website still feels too formal in some phrases and informal in others, getting the right tone and rhythm takes some time

<comment><USER9> There are some non-naive startups too.

I was very impressed by the winners of the Latam Startup Challenge (4pets in particular, though Zoop was very ambitious too).

</comment></comment><comment><USER9> Crap, the screenshots:

[https://angel.co/glio](https://angel.co/glio)

look really similar to what I'm building :( though we're focusing on the location-based category search part rather than on the reviews part, and I'm in Uruguay, not Brazil.

"local" search and discovery is something Google hasn't conquered yet, at least for my country.

There's also the local discounts angle Foursquare tried to do.

Our very shallow customer discovery so far yelded a few insights on what to do differently :) . Also, I wonder where Glio will get its data from.

This is something that is needed, good luck to Glio :)

</comment><comment><USER10> Summer Olympics 2016 are held in Rio De Janeiro. Glio might consider planning some sort of strategy around that. [http://www.olympic.org/rio-2016-summer- olympics](http://www.olympic.org/rio-2016-summer-olympics)

</comment><comment><USER11> I hope they are more ethical than Yelp.

<comment><USER12> How isn't Yelp ethical?

<comment><USER13> There have been many stories about Yelp like [this one]([http://www.eastbayexpress.com/oakland/yelp-and-the- business-...](http://www.eastbayexpress.com/oakland/yelp-and-the-business-of- extortion-20/Content?oid=1176635)) alleging extortionary tactics.

<comment><USER12> This article is 4 years old. Does yelp still employ these tactics? From what I gather it seems like a small sect of Yelps employees engaged in the practice.

<comment><USER13> You're right, of course. I'm not claiming that Yelp _does_ extort, only that these allegations are the source of their imperfect reputation.</comment></comment></comment></comment></comment>


Plone's Outstanding Security Track Record - <AUTHOR> https://plone.org/news/plones-outstanding-security-track-record <comment><USER2> 'Have I seen you before?'

I'M IN HERE QUITE OFTEN, YES. A WEEK LAST WEDNESDAY, FOR EXAMPLE.

'Ha! That was a bit of a do. That's when poor old Vince got stabbed.'

YES.

'Asking for it, calling yourself Vincent the Invulnerable.'

YES. INACCURATE, TOO.

'The Watch are saying it was suicide.'

Death nodded. Going into the Mended Drum and calling yourself Vincent the Invulnerable was clearly suicide by Ankh-Morpork standards.

Terry Pratchett, _Soul Music_</comment>


Intel - nodejs logging that plays nice with console.log - <AUTHOR> http://seanmonstar.com/post/62727728602/intel

<comment><USER2> Name is definitely going to be confusing. I completely expected this to be something Intel was doing nodejs related.

<comment><USER3> The name is going to be forced to change, the OP should just rename it now while it's not an issue.

<comment><USER4> Even if there wasn't a copyright issue, what kind of name is 'intel' anyway? Might as well called it 'data' or 'stream'.

<comment><USER3> You might as well call it Microsoft, HP, or IBM and pretend those are generic names within the confines of our industry.

</comment></comment></comment></comment><comment><USER5> In case anyone is looking for a _debug_ utility, not for archival logs, look no further than [http://github.com/visionmedia/debug](http://github.com/visionmedia/debug). Named loggers, nice formatting, easy to use and you get timers for free:

        require('debug')('controllers:something')
        debug('doing stuff', someObj)

then selectively enable it in the command-line with

        DEBUG=controllers:* node index.js

Express has debug built-in, so setting debug to express:* will turn on logging for it's internals. Just saying this 'cause I wish more tools came with built- in logging :)

</comment><comment><USER6> Not directly related, but the author mentioned Winston, which made me think: who are these people using Node.js that don't need log rotation? Winston doesn't have built-in support. The only logging library I've found that supports this without extra effort is log4node.[1]

[1] [https://github.com/bpaquet/log4node](https://github.com/bpaquet/log4node)

<comment><AUTHOR> I plan to make a RotatingFile handler, but at the same time, what's wrong with Unix logrotate?

<comment><USER6> It's used in conjunction with logrotate.

Long-running programs will happily continue using the same file handle until they are signaled in some way to reopen the file path (usually in response to USR1 and HUP). See Nginx, Apache httpd, MongoDB, etc.

</comment></comment></comment><comment><USER7> I thought that Intel made a nodejs logging tool, little did I know that the tool is just called Intel.

I feel slightly disappointed (no offence op)...

</comment><comment><USER8> Sortof an odd choice for a name, considering the brand recognition in the tech industry, otherwise neat.

<comment><USER9> I guess you mean "brand recognition" ?

<comment><USER2> Unless by naming it as such OP is looking for some brand reconditioning :)

</comment></comment></comment><comment><USER10> I wouldn't exactly call Python's logging module glorious. Its API is unintuitive and foreign (lifted from Java), any customisation requires subclassing and it destroys performance on PyPy (because of the constant use of sys.exc_info().

</comment><comment><USER11> I'd like to use this on some of my projects but I know the dev is going to receive a cease & desist from Intel sooner rather than later, breaking dependencies.

OP - could you rename the library to make us all feel a little bit better about using it?

<comment><USER12> When naming a project, it seems a lot of people don't stop and think about what it's going to be like to try to Google it.

</comment></comment><comment><USER13> I tried to make a better console for Node too![1]

[1][https://npmjs.org/package/better- console](https://npmjs.org/package/better-console)

</comment><comment><USER14> An excellent example of why you never let developers name things</comment>


USB4 Specification - <AUTHOR> https://www.usb.org/document-library/usb4tm-specification <comment><USER7> Reading through this, I'm left unable to see the underlying forces. None of the people working on this spec are idiots, so how did they arrive here? What are the forces and unstated requirements behind the scenes that I don't understand that have led to a USB4 spec with this many potential flavors and absurd naming conventions to express them? Is it something about cost? Or patents? Or some random company who won't budge on something but needs to be included?

<comment><USER8> > Is it something about cost?

It's _hugely_ about: cost, and the desire of the USB forum to ship a single "does everything" protocol that keeps a large chunk of the industry from choosing to stay on some old version of the spec forever.

Tons and tons of manufacturers of cheap low end devices out there aren't willing to replace a $0.10 USB controller with something that costs 30x as much when they have no need for the high-end speeds of Thunderbolt 3, fast charging, DisplayPort alternate modes, etc. Consequently the spec can either contain a lot of optional features they can choose to ignore, or it can mandate support for all of the 40 Gbps active cable fast charging etc options, and watch as devices partition themselves between the few the need all of that stuff, and the majority that ship simple micro-USB 2.0 hardware.

If they did the latter, then USB 4 is essentially pointless: that's the exact situation we were already in 5+ years ago, except the cheap side was called "USB 2" and the expensive side was called "Thunderbolt". All we've done is rename the expensive side to "USB 4".

If they do the former, they ship a "spec" so full of options that it's already nearly impossible to tell exactly what devices or features any given USB C port will support without recourse to a specifications sheet.

Fundamentally, "one port and protocol to rule them all" is probably just a bad idea. Trying to serve the needs of both cheap slow devices and expensive fast ones puts the forum in a contradictory position, and the only "benefit" from combining the standards that serve each niche is opaque ports and cables that consumers can't easily reason about the compatibility of.

<comment><USER9> >Fundamentally, "one port and protocol to rule them all" is probably just a bad idea

I disagree. The situations are:

1)ports are the same, protocol match : works

2)ports are the same, protocol mismatch : won't work, some user confusion

3)ports are different, protocol match : could work but won't without an adapter

4)ports are different, protocol mismatch : won't work. Adapters might exist but those won't work either.

I'd much rather deal with situation 2 over 3 and 4. Display adapters already have situations where you can get adapters to cobble together DVI and VGA ports but still fail to get a proper connection, so its not really a fix anyway.

The USB foundation should just come up with better branding around what kinds of things a port supports. No reason we can't have a thunderbolt icon next on a USB port. Its strictly better than a new physical port, IMO.

<comment><USER10> Pardon my ignorance, but isn't (2) really dangerous when it comes to things like power delivery?

<comment><USER11> No, because power delivery is negotiated from a safe USB1 type base levels. If the device doesn't request it, it won't get delivered.

The only outliers are moronic implementations like Nintendo, where they ask for capabilities, receive the charger capabilities and then just start pulling power at hardcoded levels even if the charger doesn't specify it supports those power levels. But there's nothing you can do against that - you even with different port shape, a broken implementation can still fry your device.

<comment><USER12> Didn't the charger from the Pixel not implement this correctly and send full power down the line even if a device can't handle it?

<comment><USER13> The Pixel charger was fine AFAIK. The Nexus 5x and 6P had rogue chargers

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> The real crimes are:

1 - non-mandatory labeling. What does a given port support? What about a given cable?

2 - the name "USB4 Gen 3×2". Honestly I have never had the faintest idea what any of the various absurd names invented by the USB IF might mean. Superspeed? High speed? USB 3.1?

<comment><USER15> Oh, it's very simple.

USB 3.0 was renamed to 3.1, but that was confusing, conflicting with USB 3.1, so it was rerenamed to USB 3.2 Gen1, so that people understood that 3.0 was ACTUALLY the first generation of USB 3.2

But that caused problems with USB 3.1, which was faster than USB 3.2 Gen1, so it was renamed USB 3.2 Gen2, so that it crystal clear was faster than USB 3.0/3.1/3.2 Gen1.

But that caused problems with USB 3.2, because 3.2 is just two lanes of USB 3.2 Gen2, so 3.2 was renamed to USB 3.2 Gen2x2 so people knew it was TWICE as good as USB 3.2 Gen2.

The problem now is that USB4 eliminates all that clarity, so right now the big marketing push is to clarify it as USB 3.2^2 Gen1: The Reckoning.

To resolve the conflicts of historical naming with USB 1 and 2, those will be renamed USB 3.2 Gen √0 and USB 3.2 Gen √-1/pi.

<comment><USER16> You got some of that mixed up.

First there was USB 3.0. Technically the standard included older speeds, but people called the new one "3.0" and all was good.

Then 3.1 came out. But what about the poor manufacturers with 3.0-speed ports? Well, someone decided they could call those ports "3.1 Gen 1".

And it was all downhill from there. 3.1 Gen 1 became 3.2 Gen 1, and now becomes USB4 Gen 1. They added more "Gens", even ones where the word "generation" makes no sense. Now the number tells you nothing about speed, and there are two separate nomenclatures for speed that are both confusing.

And I'm _still_ not sure if they did or did not ever implement Gen 1x2...

(It being USB4 instead of USB 4.0 is another stupid poke in the eye on top of everything else.)

<comment><USER17> > being USB4 instead of USB 4.0 is another stupid poke in the eye

This. I wish to nominate the lot of it for BJAODN

</comment></comment></comment></comment><comment><USER18> When the USB-IF announced that they're going to incorporate Thunderbolt into USB4 I already worried that this might further complicate USB hardware and software.

Turns out: My worst nightmares just became true. We now have running USB over Thunderbolt. I don't even know where to start facepalming about this clusterfuck.

Take DisplayPort for example: Up to now we had the DisplayPort alternate mode for USB-C. That just worked for most devices with USB-C. Now we also have the tunneling of DisplayPort over Thunderbolt (as Thunderbolt-enabled Macs offer since Apple introduced Thunderbolt in its devices and which they use when connecting to Thunderbolt-enabled monitors). Both methods seem to be optional for USB now, so in future a host and a peripheral device might support "DisplayPort over USB", but while one might only supports the USB-C DisplayPort alternate mode, the other one might only support DisplayPort tunnels over USB4, causing them not to be able to talk DisplayPort to each other.

I guess I'm going to facepalm for a few hours now, while I read the specification in more detail.

<comment><USER18> > A USB4 host and USB4 peripheral device may optionally support TBT3 > -Compatability.

That sounds good from an implementors point of view, but offers another area of possible incompatibilities for connecting USB4 and Thunderbolt 3 devices. Imagine both devices support tunneling DisplayPort signals, but the USB4 device doesn't support the Thunderbolt 3 compatibility layer: As in the example before they won't be able to establish a DisplayPort connection, while other USB4 devices, which offer Thunderbolt 3 compatibility might.

<comment><USER19> How is this better than VGA again?

<comment><USER20> VGA has the downsides of the analog signal, like ringing and smearing when you have a higher resolution running over a long cable.

DVI ended up being kind of a mess with the different connector types and ultimately fairly limited digital bandwidth.

Displayport is pretty good except everything Displayport costs 50% more than it should.

<comment><USER21> DisplayPort also seems to randomly stop working, requiring unplugging/replugging the USB to reset it. Occasionally I'll even boot up one morning to find it's not working at all and something or other needs to be reinstalled.

</comment></comment></comment></comment></comment><comment><USER22> As a consumer, can I please have a standard where I don't have to chase a new version every few years?

I know that many are backwards compatible, but they aren't forward compatible -- my MicroUSB cables don't help at all with USB-C, and type A and B connectors are still around.

By the time all of my micro USB devices have disappeared from my household, I'm sure a new thing will have emerged that's incompatible with USB-C, and so I'll still have to have several different cables around.

<comment><USER23> The industry has decided that it is more profitable to make you buy adapters or a new device every couple of years (and create more e-waste in the process), hence the accelerating churn. And each new revision of the standard will introduce its own set of problems, guaranteeing them something to do for the _next_ revision after that; but the churn situation with USB isn't actually that bad:

        USB 1.0 - <USER2>
        USB 1.1 - <USER3>
        USB 2.0 - <USER4>
        USB 3.0 - <USER5>
        USB 4.0 - <USER6>

Also, the vast majority of devices are still 1.x/2.x speed, so it might be more of a diminishing returns type of situation.

<comment><USER24> Appart from storage and video, there is just no need to go over USB 2.0. My brand new USB microphone uses USB 2 because there is no advantage at all to USB 3.0 for this device.

<comment><USER25> I have a single USB 3.0 external hard drive. Everything else is USB 2.0. It's fantastic, I never have to worry about whether I have the right cord or if the device supports it, and in the rare case where I need to transfer a file large enough that sending it over the Internet would be a bottleneck, I just toss it on the external HDD.

</comment></comment></comment></comment><comment><USER26> Please father Christmas may I just have one present?

A standard that is actually standardized in practice.

To this day I still don't know exactly how to buy a cable for my raspberry pi 4s. (Yes more a USB c than USB 3 issue but you get my point - a standard that isn't standardized fails at it's raison d'etre)

<comment><USER27> Just buy the official power supply. It's probably better than whatever cheap junk you've intended to abuse your Raspberry Pi with.

<comment><USER13> Actually cheap junk will work, but any quality charger(eg. Apple) with emarked cable won't.

</comment></comment></comment><comment><USER28> Good. USB3 is still a mess, better make a new one before that gets sorted out.

<comment><USER29> USB4 is basically Thunderbolt 3, i.e. USB3.x + PCIe + DisplayPort.

See the diagram in the linked spec, "Figure 2-1 USB4/USB3.2 Dual Bus System Architecture"

<comment><USER30> I remember hearing that on .. Dave2D I think? Or Linus Tech Tips .. one of them said USB4 is Thunderbolt 3.

I assumed the standards were just combining and the two would be equivalent protocols, but I assume that's not true then? Does USB4 basically just add PCIe onto the USB bus? How will that work with AMD board that still don't officially have Thunderbolt/PCI Hotplug support?

<comment><USER29> > Does USB4 basically just add PCIe onto the USB bus?

Yes. Which is kinda what Thunderbolt 3 does (except encapsulated in the TB packet format, not USB).

The silicon world has been gradually converging on its Serializer- Deserializer/PHY technology. I don't know quite the family history, but I believe the PCIe PHY is very similar to USB3 which is identical to Thunderbolt 3.

Since the link layer was the same, it was then "just" a matter of protocol design to make everything just use the same link. And that's how you got Thunderbolt 3 / USB 4.

<comment><USER31> PCIe uses different rates than USB, but both at their basics use NRZ (Non- Return to Zero) [https://en.wikipedia.org/wiki/Non-return-to- zero](https://en.wikipedia.org/wiki/Non-return-to-zero). The bigger differences are in the channels they target. The channels characteristics drive the complexity of the signal processing circuitry required (eg Power and Cost) in the PHY devices. Hope that adds a bit of clarity to your PHY question.

</comment></comment></comment></comment></comment><comment><USER32> The more I look at the USB mess the more I feel that a revised faster Ethernet with provisions for both insulated and direct connections (magnetics-less == cheaper chipset, lower power consumption etc) for board to board communications then a smaller/sturdier connector plus PoE built in would solve every problem USB tried to solve including the ones it introduced.

</comment><comment><USER29>
        Apple Inc.
        Hewlett-Packard Inc.
        Intel Corporation
        Microsoft Corporation
        Renesas Corporation
        STMicroelectronics
        Texas Instruments

Honestly, I'm a bit surprised at how short this list of authors(?) on such a wide-impact standard is. Where are other silicon designers? Where's Synopsys, or Mentor Graphics (who often provide the Hard IP used by chip designers)? Where's Qualcomm or Samsung? What about Google, for Android?

 _Edit:_ actually reading a bit further to the "Acknowledgement of Technical Contribution", this is the list of _promoter_ companies. The contributors list is _way longer_ and includes everyone you'd expect.

<comment><USER33> Look further down. You showed just the promoters list, there is a much longer contributors list.

Google and Samsung are both there.

</comment></comment><comment><USER34> Why does USB have two seemingly unrelated versioning schemes? There's USB 1, 2, 3 and now 4 as well as Type A, B and C. This mess looks like manufacturers wanted to create a way to trick the average customer into buying the wrong cable or adapter, whereas initially the reason for creating USB was to increase compatibility.

<comment><USER8> > Why does USB have two seemingly unrelated versioning schemes? There's USB 1, > 2, 3 and now 4 as well as Type A, B and C.

They decoupled the standards for the protocol and the connector. "USB C" is just a port/connector shape -- there's no guarantee that any cable or port that is USB C shaped supports _any_ version of USB-the-protocol. This is the case with eg) dedicated Thunderbolt 3 ports and cables.

It's every bit as silly and confusing as it sounds in practice.

<comment><USER34> And I forgot to mention the mini and micro versions of USB ports, which add to the overall confusion.

<comment><USER24> There is also the USB 3 versions of mini and B which don't fit in the USB 2 ports. This is part of the reason I have an entire draw dedicated to different USB cables.

</comment></comment></comment></comment><comment><USER35> Good job completely failing to address actual problems, USB-IF. What do people actually need? They need to be able to easily tell what the port on their device is capable of doing and they need to avoid buying chargers, cables, and devices that violate the specification, especially when they do so in a way that might destroy a device or even endanger the user. Unfortunately the only thing the USB-IF cares about is "Moar megabits! Moar!"

</comment><comment><USER36> probably really dumb question with a really obvious answer that i don't see, but...

why not have a packetized protocol like ip over the cable and devices just go over that? wouldnt things like enumeration, identification, connect/disconnect, interleaving protocols and encryption be much simpler since it's a known domain?

wouldn't that be more "universal" than cramming usb2, usb super speed, pci-e, displayport (which afaicr also wraps a few things) etc over a single cable?

am i missing something or is this just a cost issue...?

[edit] slightly answering my own question: pci-e is a packetized protocol... so i guess cramming everything in is more backwards compatibility to get all the other connectors subsumed into a single cable...?

<comment><USER37> USB is packetized. But without those seperate modes of operation, every single adapter would need a microcontroller in it.

<comment><USER38> Is that really a problem?

<comment><USER37> Imagine a world where the reliability of your devices significantly depends on how much you paid for your USB 3->4 adapter. Is that a better situation than what we have today?

<comment><USER39> It already does in terms of USB cables. Buy a wrong cable, and your device won't charge, or won't charge fast enough, or won't communicate. And you can't tell the good/correct cable from the bad ones visually.

The standard can have any number of optional modes to be implemented by devices. I don't care. What I want is for it to have _one_ cable type. Because it's kind of a point of an universal port that people will use cables from one device with another.

<comment><USER40> It's unreasonable to expect one cable type, because the additional costs for cables that support very high data rates or very high power delivery are prohibitive for cheap devices that don't need those.

What they do need to do, though, is minimise the different cable options and make them easy to distinguish. My suggestion would have been to have a basic USB-C cable with exactly two optional designations: +FAST and +POWER. It's then easy enough for a device to say _" this requires a USB-C+FAST cable"_ and consumers to then look for the same.

</comment></comment></comment></comment></comment></comment><comment><USER41> Will this bring higher PD? A lot of laptops require 100W-130W of power (see, Lenovo X1E or Dell 7590), while the highest PD I've seen from usb is the Apple charger for 86W. I know Dell produces proprietary 130W usb-c charger, but I'm wondering if usb4 will help make it a standard.

<comment><USER42> This specification is only about the data bus, not the power bus, since they're separate in USB-C. So no, this will not bring higher power (and higher power won't need to wait for a future USB-5 standard).

<comment><USER41> thank you for the explanation! Do you happen to know if there's any work on bumping the power bus to 130W?

I see that USB PD rev 3.0 allows up to 100W - [https://en.wikipedia.org/wiki/USB#Power- related_specificatio...](https://en.wikipedia.org/wiki/USB#Power- related_specifications)

Is there any work on rev 4?

</comment></comment></comment><comment><USER43> I think USB is terrible. One problem is that USB addressing is not by the physical port that it is connected to (among other things, this is a security problem, but there are many other problems with this too); does USB4 correct that? Another problem is how vendor codes and that stuff is work; it should instead be identified by protocol type, and to allow the user to override the protocol type with the operating system functions.

There is other stuff is better, such as RS-232, and Compact Flash (unfortunately it lacks a write protect switch; SD has it but only the full size SD cards and not the smaller size; SD card has other problems though), and then also add some of my own specifications too, such as IMIDI and Digi- RGB, and you can have separate ports for each of these four thing.

<comment><USER44> "rs232 is better" only if you ignore the incredible mess of horror that has been committed under the name "rs232". What we have today is only the most sensible bits that survived 40+ years of ablation in the real world. Even now its not a great situation: what voltages will your two chips of different types be able to be use for their "rs232" conversation? TTL? will you need +/-12v? 15v?

</comment></comment><comment><USER45> The Serial Time Link Protocol (STLP) looks really cool to me - I've thought for awhile that the next-gen in audio gear would be more modular front ends that sit on top consumer protocols, which is where things are moving in broadcast/commercial audio installations today. I can imagine a whole host of consumer and professional devices that solve real problems at lower costs than we can today. Really interesting stuff.

edit: one weirdness, STLP has a recommended packet rate of 62.5kHz (actual quote "A Router shall periodically transmit a Serial Time Link Packet on TMU_CLK_OUT. The period between transmissions is implementation specific, but it is recommended that a Router transmit a Serial Time Link Packet every 16 μs"). If the only application domain (besides compliance testing) is audio, how did they arrive at that recommended rate, where it is rather different from standard sample rates (44.1k/88.2k and multiples of 8kHz)? I'm not sure how that affects clock synchronization.

<comment><USER46> USB already supports isochronous transfers for audio.

</comment></comment><comment><USER47> Had to read the USB1 spec in 1998 to make a HID Device using a small micro, took me over 3 weeks to get it working and was debugging shit for months afterwards. Would never go there again and for future projects I decided ignorance was bliss and just used whatever stack the chip designers supplied, I suspect that covers 99% of all devices out there.

<comment><USER48> Have fun when your product falls on its face because the vendor stack got the corner cases wrong.

</comment></comment><comment><USER33> So basically, they are attempting to redo the mess that is 3.x

very cool.

"When configured over a USB Type-C® connector interface, USB4 functionally replaces USB 3.2 while retaining USB 2.0 bus operating in parallel. Enhanced SuperSpeed USB, as defined in USB 3.2, remains the fundamental architecture for USB data transfer on a USB4 Fabric"

</comment><comment><USER49> The Grrranimals standard worked. People would match up symbols to see what worked together. Why cannot technology do the same? Yes, the cables plug together, but one has a turtle icon and one has a car icon?

<comment><USER50> I am genuinely curious to read more about this, but a google search for Grrranimals doesn't give me anything to work with. Can you provide a bit more info, please?

(if this was a joke, consider this my admission of egg on my face)

<comment><USER51> It's "Garamimals". It's a clothing line for very young kids where they can match the tag on a shirt with a tag on the pants and have an outfit that "goes together."

</comment></comment></comment><comment><USER29> So USB 4 is basically Thunderbolt 3, got it.

(per Fig 2-1 "USB4/USB3.2 Dual Bus System Architecture")

Edit: with Gen3 speeds (20Gbs/link) and with optional Dual-Lane Bonding for increased bandwidth.

</comment><comment><USER52> USB3 and thunderbolt (unsure about their exact relation) enabled eGPU's, which is very cool.

What will USB4 enable?

</comment><comment><USER53> Is this a universal serial bus, or a universal docking station port?

</comment><comment><USER54> why the bloody fuck don't we get a new, clean thunderbolt bus — as it was invented by apple/intel — and leave the usb folks play their mindless games?

jesus.

</comment><comment><USER55> Why not standardise on USB-C and just make -C with the 2 added Thunderbolt pins (ala Apple) the norm? Why more specs

<comment><USER56> Huh? Apple does not sell any devices with "2 added Thunderbolt pins".

<comment><USER55> Yes they do, USB-C cables with Thunderbolt is different from regular USB-C on account of the 2 data pins added.

So none of the USB-C cables I bought would enable me to use external monitors with my hardware because it supported 2 displays over TB only. But the connectors aren't even keyed so it's just an irritating mess to keep track of what is and isn't.

However it would be a great system if TB over USB-C was the default and only probably.

<comment><USER57> You are mistaken. Thunderbolt alternate mode does not require any additional pins, it does require special cabling though. Most Thunderbolt cables are not capable of any 5-10(-20) gbps USB but they are still using the exact same connector.

USB 4 will change this in that Thunderbolt cables will now be compatible with everything.

The only thing you possibly could think of is VirtualLink which _repurposed_ the existing USB 2.0 pins for two more high speed lanes but even that is using the exact same physical connector.

</comment></comment></comment></comment><comment><USER58> Why would they attach this as a zip file? Makes reading on an iPhone impossible (CORRECTION: cumbersome)

EDIT: Learnt something new. But the spec on an HTML page would be a lot more convenient than having to install more apps just to read this document.

<comment><USER59> Is it truly impossible?

No fs access has been one of the things stopping me becoming an iOS user, I thought it'd make some things harder, but I didn't realise something so regular seeming (as in I don't have to be a tech nerd to want to open a .zip) would not be possible.

<comment><USER60> You can save downloads to the Files app, which then has folders for all the storage apps you have installed, like dropbox or icloud or whatever. You can also save to the device local storage, but for some reason only in folders created by other apps.

<comment><USER61> iOS 13 allows you to store any file on your iPhone and unzip/zip it, without a certain application.</comment></comment></comment></comment>


Ask HN: How to start a lending business? - <AUTHOR> I'd like to start a company that allows people for an easy access to loans.
First scenario: One person in a family lost a job due to lockdown and his/her partner has a stable employment. The employer has a lot of capital and instead of giving people gym passes and other benefits, employer could use that money to give people interest-free loans.
There is no such thing in my country, but I'm not sure how to start. I have no knowable of the business and I'm a bit worried about regulations.
How to start? <comment><USER2> I imagine lending is highly regulated in most jurisdictions, and has a high barrier to entry. If you share your location, someone might have more accurate information.

<comment><USER3> I agree. The up front regulatory & capital requirements might be similar to starting a bank.

Perhaps the traditional banking lending product that matches this idea is "unsecured personal loan". Traditional bank would need functions to assess credit risk of loan applications, handle disputes, chase up loans in default, offer assistance to borrowers in financial hardship. Also need a way to obtain capital to lend.

Not obvious to me why a business that is not already a bank would want to take on some/all of these functions to offer loans to employees.

Also, there is increased potential to create messy situations by combining employer:employee relationship with lender:borrower. E.g. current economic environment where companies have massive drops in revenue and need to lay off staff. If employer lays off staff who have borrowed money from employer, quite unlikely that loan will be paid back. Perhaps situation is structurally more risky (due to correlated risks that impact employer and employee) than if a third party (e.g. a bank) was lender. Similarly if employee has borrowed from employer but is fired.

</comment></comment><comment><USER4> Have you checked Kiva.org and related organizations? They are asking for recommendations for small loans now, to help deal with Covid-19.

It would help if you indicate which country you are from

<comment><AUTHOR> I'm based in Poland at the moment.

</comment></comment><comment><USER5> If the employer already has access to the employee bank account (e.g. to pay salary) then do they need your service?

<comment><AUTHOR> For CRM and financial education. Later on I'd automate the process so they don't have spend any resources on it.

The benefit for employees in a low-cost debt

[https://www.salaryfinance.com/uk/borrow/](https://www.salaryfinance.com/uk/borrow/)

<comment><USER5> I still dont understand the proposition. Do you want to make loans to employees and get repayment from their salary like the link? Or provide employees with financial education? I have experience in the Polish financial services market, and worked in partnership with Polish banks, so would like to offer my view.

<comment><AUTHOR> I'm considering just selling software to employers to manage loans OR get repayment from their salary like the link. Financial education would be just something extra.

I'm still playing with the idea. The inspiration comes from the fact that a few friends work for companies that use pen and paper to manage employee loans.

<comment><USER5> Ah okay I see thank you. I bet there are many places using paper and excel so there will definitely be room for your product. I've been in the lending market before, we partnered with banks to do it e.g. Alior in Poland. So the business would make a payment to the employee, and you're software could track the payment and repayments? Would you want to initiate the payments too or just track them?</comment></comment></comment></comment></comment>


Grid loading effect in CSS - <AUTHOR> http://tympanus.net/Tutorials/SamsungGrid/

<comment><USER2> All the demos are amazing. Wish I had this when I was building out my previous product. I really liked the circular loading demo. The site has been bookmarked.</comment>


The Aussie who shook up world's film industry - <AUTHOR> http://www.theage.com.au/small-business/growing/the-aussie-who-shook-up-worlds-film-industry-20120925-26ih7.html <comment><USER2> So one anecdotal story about how it is possible to bootstrap a hardware company.

I like the quote, "he says he's not sure why competitor products are so expensive"</comment>


SeatGeek Partners With Yahoo, Eclipses Better Funded Competition - <AUTHOR> http://www.betabeat.com/2011/08/23/seatgeek-partners-with-yahoo-eclipses-better-funded-competition/

<comment><USER2> It's nice to see a young startup with great UI and deep, predictive analytics steal the pole position from older incumbents.

</comment><comment><USER3> SeatGeek has a great UI for finding the seats you want - I've used them to find Blazers tickets and it's much easier than going directly through StubHub et al. Hoping they add Jeld-Wen field soon so I can find Timbers tickets easily!

</comment><comment><USER4> Great to see another NYC startup making waves. Even better that they've got serious technology under the hood to make it all work!</comment>


Should Google Create its Own Currency? - <AUTHOR> http://hiddenfrequency.com/post/1071566070/skip-the-checkout-should-google-create-its-own

<comment><USER2> I have always wished someone could make this work .. and if they do I already have quite a few website ideas for micro transactions :)</comment>


Why Python? - <AUTHOR> http://blog.smartbear.com/code-review/why-python/

<comment><USER2> It does seem to be infiltrating financial services as the video suggests. I think it is earning it's niche precisely because it's easier for smart non-CS people to pick up than other languages. There isn't an overhead of learning too many libraries, you don't need to sweat pointers, and don't have to wrap your mind around recursion.

</comment><comment><USER3> Golang will ultimately fill the Python niche. It has the very same boring yet efficient vibe about it, and more. And it's more recent and backed by an Internet giant, and compiles to native code, and supports concurrency out of the box, etc.</comment>


My Experience with Setting Up a Company in Hong Kong (2014) - <AUTHOR> https://marcoschwartz.com/hong-kong/ <comment><USER2> Note that apparently in the mean time it has become even more difficult to open a business bank account in HK (to the extent that some startups complain that they can't get a bank account).

So, research that carefully before going down that route.

<comment><AUTHOR> What's changed now?

<comment><USER2> Good question. Don't know whether it's a reaction to US FATCA and other governments and supranational bodies cracking down on tax havens (which HK does not want to be seen as), but the fact remains that while 10 years ago you could stroll into any bank and open an account, in the last couple of years you need to provide very compelling reasons and documentation. (Note that the banks tend to not comment on their policies and decision criteria - so they might well tell you that they'll open an account, but when you walk in they will (in good old Chinese fashion) decline for some mysterious reason and recommend that you try "maybe tomorrow".)

See e.g. here:

[https://www.hongkongfp.com/2016/03/26/hsbc-tightens- requirem...](https://www.hongkongfp.com/2016/03/26/hsbc-tightens-requirements- for-new-bank-accounts/)

[https://www.hongkongfp.com/2017/01/31/hong-kong-the-worst- pl...](https://www.hongkongfp.com/2017/01/31/hong-kong-the-worst-place-in-the- world-for-a-startup-to-open-a-bank-account/)

[https://www.hongkongfp.com/2016/04/12/why-hong-kongs- banks-a...](https://www.hongkongfp.com/2016/04/12/why-hong-kongs-banks-arent- interested-in-your-business/)</comment></comment></comment>


Apple Doesn't Want Coders Messing With iPhone Buttons — Sometimes - <AUTHOR> http://www.wired.com/gadgetlab/2010/12/camera-plus-volume-snap/

<comment><USER2> What's more likely here? That there's a nefarious plot inside Apple to let some developers use forbidden functionality hoping no one else notices the double standard, or that a human app reviewer missed this and it slipped through? I invoke Occam's Razor on this non-story.

<comment><USER3> Which is actually what the article says:

"Apple can't stick to its own rules with the gigantic iOS App Store."

and at the end:

"App Store reviewers are not consistent with enforcing the rules, and therefore censorship still seems arbitrary."

Also, there's no allegations of special treatment in the article at all.

Did we even read the same thing?

<comment><USER2> Indeed we did. My comment is more a remark on the sensational tone of the headline, which I read as implying by the author a deliberate intent on Apple's part. I find the article disingenuous in that, since it does, as you note, leave the salient part for the very bottom.

However I certainly take your point.

<comment><USER4> However pendantic, I feel compelled to point out that including the word 'want' in the title does imply intent.

</comment></comment></comment></comment><comment><USER5> Surely they have some sort of process to make sure the rules are applied somewhat evenly. It's not like modifying the function of hardware buttons is subjective, like some of the other criteria for inclusion in the App Store.

Does the App Store approval group have any sort of developer community liaison to manage this sort of thing? Sounds like a cool job to me.

<comment><USER6> Likely the approver forgot about that guideline from their training and let it through by accident. From the history of the other mentioned apps, it sounds like it will get pulled soon enough and all will be right again.

I can understand that inconsistency is annoying, but wikipedia applies the "notable" standard at least as inconsistently and stories about that don't make the front page. Thankfully.

<comment><USER7> There aren't dollars riding on whether a wikipedia story makes the front page.

<comment><USER6> "I hope the approver overlooks our egregiously violating app" isn't a very good business plan.

<comment><USER7> The approver overlooking someone else's violating app isn't good for your business plan...

</comment></comment></comment></comment></comment><comment><USER8> Anyone do a camera app that triggers the shutter by voice? For example, just after the phone hears 'cheese'?

<comment><USER9> Wow, how has this _not_ been done!

</comment></comment><comment><USER10> kinda unrelated, but is there proper framework to do this? I remember hacking the volume button for the camera back when I was doing stuff in the jailbreak space and all i remember was it was hella annoying

<comment><USER10> also, something no one bothers pointing out - atleast it's the case with first two generations of iphone - taking a photo with the volume button causes the user to move the camera and results in an out-of-focus image. I can't imagine the autofocus re-focuses fast enough to resolve this issue in later generation iphones.

On the plus though, for the developer, advertising the feature certainly helps drive sales; as does "negative" press on Wired like this :)

<comment><USER11> How does pressing the volume button move the camera more than using the touchscreen? I've always considered the lack of a physical camera button on the iPhone to be a UX flaw.

<comment><USER9> Because more force is required (and thus more movement) to press down a button than to brush against the touchscreen, in theory at least. But yeah I'd like to have a physical camera button. I'd imagine it'd be best if it wasn't as stiff as the iPhone 4's volume control buttons.

<comment><USER12> Since this is not a serious camera, why not a small delay on capture so the movement has ended?

<comment><USER9> I'm guessing that'd be more annoying than helpful, but it'd be interesting to try. If it were timed exactly right it could maybe work.

It's not a serious camera in the sense that I wouldn't take one to do a magazine shoot, but lots of people take _really_ good photos with phone cameras these days, they've come a long way.

<comment><USER12> The best camera is of course the one you have with you. People have taken amazing photos with the iphone for sure! However, action shots are not likely among those unless in some abstract form.</comment></comment></comment></comment></comment></comment></comment>


More than 50% of insects have disappeared since 1970, an ecologist warns - <AUTHOR> https://www.businessinsider.com/insect-apocalypse-ecosystem-collapse-food-insecurity-2019-11 <comment><USER2> From the article, "Another study conducted in Puerto Rico found that 98% of the island's ground insects had vanished since the 1970s."

That is simply a bewildering statistic. A very large area of that tropical island is extremely hilly and unsuited to large scale agriculture. Most of the human population within a few miles of the coast. The inland areas should be teeming with insect life.

From the study on PR cited by the article, "Our analyses provide strong support for the hypothesis that climate warming has been a major factor driving reductions in arthropod abundance, and that these declines have in turn precipitated decreases in forest insectivores in a classic bottom-up cascade. . . . As the sixth mass extinction continues to decimate the world's biota (137, 138), these data will be crucial to understanding the impact of climate change on terrestrial food webs (139), ecosystem dynamics (140), and biodiversity (8), and to formulating conservation strategies aimed at mitigating the effects of future climate forcing."

A stunning and tragic conclusion.</comment>


Big Data Giant Joins InfoChimps to Save the World's Structured Information - <AUTHOR> http://www.readwriteweb.com/archives/data_giant_climbs_aboard_at_infochimps.php

<comment><USER2> Like calls unto like. Attracting genius-level talent like Kurt is a great sign of things to come for the Infochimps. :)

=h=</comment>


Universal Binaries Using WASM - grey-area https://github.com/wasmerio/wasmer <comment><USER2> This talk was really prophetic [https://www.destroyallsoftware.com/talks/the- birth-and-death...](https://www.destroyallsoftware.com/talks/the-birth-and- death-of-javascript)

<comment><USER3> Maybe prophetic in the sense of "people really wanted this for years and it has finally been implemented". People have been talking about it since at least when NaCl debuted in 2011.

<comment><USER4> "If I had asked people what they wanted, they would have said faster horses." - Henry Ford

JavaScript by itself is not a "nice" language, I would ask what the root of your request is: an easy garbage collected language that is ubiquitous?

<comment><USER5> This "long-held fervor" that culminated in WASM started back before Node.js existed, so back then, "Javascript" was just a thing browsers did (except for, say, Windows Scripting Host's support of it.) The fervor back then wasn't really driven by a desire for a _ubiquitous_ anything; it was driven specifically by people thinking about browsers, and what is required to program web-apps in browsers.

What people have wished for, since... oh, 2001 or so, is the ability to write web-app frontends without needing to grok and deal with the awful runtime semantics of Javascript—the way you do when you write Javascript, yes, but also the way you do when you write in a language that directly transpiles _to_ Javascript, like TypeScript or ClojureScript.

Languages like TypeScript may _add_ semantics _on top of_ the JS runtime's semantics, but they can't get away from the fact that the JS runtime is the "abstract machine" they program, any more than e.g. Clojure can get away from the fact that the JVM is the abstract machine it programs. That's why none of these languages were ever seen as a "saving grace" from the "problem of Javascript", the way WASM is.

WASM has its own abstract machine (which runs efficiently in browsers), which finally frees people from the tyranny of the Javascript-runtime-as-abstract- machine.

It's great that it's also now replacing the Javascript-runtime-abstract- machine in other contexts (e.g. Node-like server-side usage, plain-V8-like embedded usage) but that was never really "the thing" that anyone cared about.

\---

Mind you, the NaCl fervor _was_ for a ubiquitous VM—but the NaCl fervor wasn't nearly as large, and isn't really what's propelling WASM to prominence right now. Even then, it wasn't about "an easy garbage collected language that is ubiquitous", no. The goal of it was to be able to take code that you already have—native code, written to run _fast_ , like a AAA game—and put it in a browser-strength sandbox, such that it can be zero-installed just by visiting a URL, with full performance. You know, like ActiveX was supposed to be. But better.

NaCl didn't really get us there, because it happened right as the architectural split between x86 and ARM really started heating up, and NaCl's solution to that split—PNaCl, a.k.a. sandboxed LLVM IR—was both too late and not really efficient-enough at the time to fully supplant the "Native" NaCl in NaCl messaging. (LLVM IR works well-enough _now_ for Apple to rely on it for being a "unified intermediate" of both x86 and ARM target object code, but that shift only began with ~8 additional years of LLVM development after the version of LLVM that PNaCl's IR came from.)

WASM _seems_ to get us there. But do we care any more? Everyone already has other solutions to this problem. ChromeOS can run Android apps; Ubuntu Snappy packages can expose GUIs to Wayland; Windows has a Linux ABI to run Docker containers. Ubiquity is a lot easier now than it was back then, for any particular use-case you might want.

On the embedded-scripting side of things, everyone has seemingly settled on embedding LuaJIT or V8. Do people even need embedded scripts to be fast, in a way that "WASM as compilation target" would help with? Maybe for the more esoteric use-cases like CouchDB's "design documents" or the Ethereum VM ([https://medium.com/coinmonks/ewasm-web-assembly-for- ethereum...](https://medium.com/coinmonks/ewasm-web-assembly-for- ethereum-54719ece2042.)) But I doubt WASM will hit ubiquity here. Why would OpenResty switch? Why would Redis? Etc. You're not writing-and-compiling _native code_ for any of these in the first place, so adding WASM here would only break existing workflows.

<comment><USER6> > What people have wished for, since... oh, 2001 or so, is the ability to > write web-app frontends without needing to grok and deal with the awful > runtime semantics of Javascript

It was so even before 2001. Consider why the <script> element as the "type" attribute to begin with (and why it had the "language" attribute originally, before "type"). As I recall, W3C specs from that era gave examples such as Tcl! On Windows, you could use anything that implemented Active Scripting APIs - e.g. Perl. JS just happened to be the one that everybody had, because it was the first, and so it became the common denominator, to the detriment of the industry.

</comment></comment></comment></comment></comment><comment><USER7> This project has been known to copy code from other projects without respecting licenses. The founder of ethereum pointed this out a few weeks ago.

[https://twitter.com/gavofyork/status/1094597005333151745](https://twitter.com/gavofyork/status/1094597005333151745) [https://twitter.com/Sunfishcode/status/1075486397824327681](https://twitter.com/Sunfishcode/status/1075486397824327681)

The extent to which the people in this project took "inspiration" from wasmjit has been questioned as well [https://github.com/wasmerio/wasmer/commit/a81500e047fdd321b3...](https://github.com/wasmerio/wasmer/commit/a81500e047fdd321b3dd3f9fabb87fecbd2d7792#diff-9c2f6a65948817d0ab677942d577d2d0)

<comment><USER8> Looks like they made a mistake, apologised, and have added attribution since?

<comment><USER7> When they were called out privately, no mistake was admitted and no action was taken. The attribution was only added after they were called out publicly.

<comment><USER9> a problem fixed under less ideal situations is still a fixed problem regardless.

<comment><USER7> Do you think they would they have fixed the problem if they weren't called out publicly?

<comment><USER9> i don't think it matters because they __did__ fix the problem. maybe that would have been a problem in the past before the problem became acknowledged, but the thing is, that isn't the case anymore and so to me it really doesn't matter. but even if it did matter, i still probably wouldn't care. sometimes people need convincing to do a thing and when it comes to presenting a consistent and positive image to others, i think it's quite a generally good thing if someone is responsive to the criticism of others and actually acts on it. maybe they should have fixed it before of their own accord. but maybe before they didn't see the issue that others saw. people aren't perfect any they make mistakes. constantly.

<comment><USER7> Do you think it's possible that this wasn't a mistake and instead they acted with malicious intentions and only fixed the problem to minimize the negative PR fallout? If not, why not?

<comment><USER9> i sure think it's possible but my decision is binded by Hanlon's razor in this case. don't attribute to malicious intent that which is attributable to stupidity/neglect/etc. so I mean it's possible they had malicious intent, but i mean, really, what did they stand to gain by having it? to me it just seems more likely that they just didn't notice.

<comment><USER7> Do you think potentially malicious behavior should be overlooked or made known?

<comment><USER9> i think it's for the best if such is done, yes, but then the question becomes potentially malicious by whose standard? for instance, if we were to operate off of what your perspective appears to be, then you (appear to) have the preconceived notion that the actions were indeed malicious and if anything it would seem you're seeking to gratify your inherent confirmation bias as a human rather than attempting to discern the actual nature of things. of course, i don't want you to think im saying you're doing any of this with absolute certainty as im not sure we can know anything with such clarity, but more just that in these situations it pays to have a third party that is ultimately detached from either outcome to determine which interpretation is the most valid one. also words

<comment><USER7> I agree that attention should be drawn to potentially malicious behavior.

I don't know that the actions were indeed malicious but there is evidence to suggest that they may have been and I'm doing my small part to make the greater community aware. This will enable the community to make wiser judgments in the future, if the need arises.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> For those thinking that this is just Java and Flash all over again: Here's the relevant blog post from Steve Klabnik explaining why this is _very_ different:

[https://words.steveklabnik.com/is-webassembly-the-return- of-...](https://words.steveklabnik.com/is-webassembly-the-return-of-java- applets-flash)

<comment><USER11> _There's another reason Wasm succeeded: it's tiny._

I'll agree with him that Java is very much _not_ tiny, but I disagree about Flash. The last time I remember setting it up, the browser plugin was a single binary of a few MB (and I'm sure that could be made smaller.) SWF files are also a great example of a well-designed space-optimised vector graphics format --- remember that it was designed close to 20 years ago for the computers of the time.

Edit: care to explain, downvoters?

<comment><USER12> Flash _runtime_ was several hundreds MBs. Sure the actual applets were a few mb of mostly animations and resources, but the runtime was another thing.

<comment><USER13> The runtime is ~15MB, far from hundreds of MBs.

<comment><USER14> Back in the early 2000's, IIRC, Squeak Smalltalkers succeeded in getting a Smalltalk runtime down to 385 kB. Haters still complained about it being "too fat." There was an R&D project which got one Smalltalk image for a Unix-style command line utility to 45 kB. Back in those days, the standard class library for a VisualWorks Smalltalk image was about 12MB on disk.

In contrast, Perl had a runtime of something like 768 kB. Yet, VisualWorks could load its runtime faster, if you tweaked things, like shutting off the boot-up chime and notifier dialog.

<comment><USER5> > Yet, VisualWorks could load its runtime faster, if you tweaked things

For the same reason that Emacs loads quickly: the "image" is (an abstracted, runtime-dependent equivalent to) a memory dump. Perl has to parse Perl code when it starts up; Smalltalk just "is" Smalltalk when it starts up. Like booting up a DBMS where the DB already has data in it.

Honestly, I'm kind of surprised more modern languages/runtimes don't take this approach. The Smalltalk approach would work exactly as well for e.g. Ruby.

<comment><USER15> It leads to a lot of issues with the end design of everything. You either have to reconstruct the heap and all the pointers involved, or it has to be loaded at a known address. With things like ASLR, and a bunch of other security features this ends up difficult or impossible to do directly anymore. Along with that, it also means that the runtimes aren't cross-compatible at load time so weird differences might leak out (little or big endianess, etc.). It leads to a lot of headaches because of changing systems underneath it.

</comment></comment></comment></comment></comment></comment></comment><comment><USER16> This is one of the logical next steps towards mass WASM-adoption. Another was Cloudflare's Isolates [1].

There needs to be official OS support from vendors (MacOS, Windows and Linux distros) in order to avoid the stinking pile of non-shared shared library mess that is electron.

[1]: [https://blog.cloudflare.com/cloud-computing-without- containe...](https://blog.cloudflare.com/cloud-computing-without-containers/)

<comment><USER17> So, we are officially campaigning for Javascript as the default language for everything now? :-(

<comment><USER18> WASM is not javascript

<comment><USER19> Funny, I hear often that "WASM is just javascript" whenever I compare it to Flash and Java, as a defense for why it is different this time and totally won't have any of the problems of those other runtimes.

<comment><USER20> Because wasm runs on the same javascript and not as a separate plugin. It will be a major feature of the browser and be automatically updated with it. (also it allows for feature discovery)

It has no relation to ecmascript, but you could say that it is integrated in (but independent from) javascript.

People say that it is not javascript because you can use ALL of the wasm toolchain without any trace of javascript.

</comment></comment></comment></comment></comment><comment><USER21> Ok, strawman using Rust (pick your favorite WASM capable language): I write in Rust, that is alreasdy a decently portable language. Most likely WASM will be on many of the platforms the LLVM allows Rust to target. Most Rust libs are cross platform capable (Linux, macOS, Windows, etc).

Now, when I target WASM I get one obvious thing, compile once deliver everywhere, with some overhead hit. Versus produce binaries for everything and distribute.

Is gaining the universal binary (with WASM runtime) enough? The reason I'm excited about the Web target for WASM is that I gain the entire web platform from my favorite language.

I'm 50% excited and also baffled by this. Now, as an embeddable language runtime in other software, that's interesting...

<comment><USER22> Maybe, maybe not, in this specific scenario.

But it's not the only scenario. Imagine, for a moment, that you're not distributing your own binaries; you're in the business of running them, possibly from untrusted sources. And that's just one other scenario.

<comment><USER21> So the Cloudflare perspective. Yes, it's interesting.

<comment><USER22> Or the "script my application with wasm" perspective, or the "smart contracts for blockchain" perspective, yeah. Think "docker", in some ways.

</comment></comment></comment></comment><comment><USER23> Amazing! It's like we could write once and run everywaaaait a moment...

<comment><USER24> But now you can choose your own programming language. The JVM is very Java centric, for obvious reasons.

<comment><USER25> Obviously its purpose was to support Java, but a number of languages - <AUTHOR> prominently Scala, Kotlin, Clojure, Groovy and Ruby - run on the JVM. With perhaps the exception of Kotlin, these are not especially Java-like.

There is an interesting degree of independence. A lot of Java semantics is not baked into the JVM, and in the case of invokedynamic there was for a time a significant JVM feature that java didn't use.

The JVM is a pretty decent target for languages with garbage collection, objects (of some form), and methods / functions. Those facilities are useful for most languages these days, and provide a large degree of interoperability. I don't have to really thing about ruby calling java and back again, no calling conventions or issues with garbage.

It will be interesting to see whether WASM will support those kinds of features.

<comment><USER26> Names matter, though. For as long as the JVM has been called the "JVM" it has been associated with the Java language.

Using the Java language on other VMs confuses people in exactly the same way that using the Java Virtual Machine for other languages confuses people.

The outcome might have been different had they called it something like HLVM instead of JVM.

<comment><USER27> Taking this further, wouldn't this imply that WebAssembly is only for the Web?

</comment></comment></comment></comment></comment><comment><USER28> Very impressive. Is this compatible with any WASM-compliant language, or just the ones listed? EG AssemblyScript:

[https://github.com/AssemblyScript/assemblyscript](https://github.com/AssemblyScript/assemblyscript)

I'm looking forward to seeing some benchmarks comparing native binaries with the same program run via wasmer.

<comment><USER29> It says it runs compiled .wasm binaries, which should mean any language. I think the listed languages are those targeted for interoperability.

<comment><USER30> That's right.

Wasmer executes any wasm binary, including AssemblyScript generated ones :)

</comment></comment></comment><comment><USER31> The hard part will be coming up with portable API's that can do the things that native apps can do.

Consider that browser standards include an enormous amount of functionality and new web API's are getting added all the time, and yet, many people claim that web apps can't compete with native apps on phones or desktop. Also, even if you just pick one of these, there have been many attempts to come up with a portable way to write apps for both iOS and Android, and it's getting better (see Flutter for example), but it's still a lot of work for the implementers.

Docker got around this by standardizing on Linux (including the filesystem), but the client side is much harder.

So I suspect that for a "universal" file format based on WebAssembly to get anywhere, it will have to succeed in some niche not served well by web browsers, Docker, or Unity.

WebAssembly itself is useful in the way a fast interpreter for a scripting language is useful - as an embedded component of some larger runtime. Its potential customers are teams that would otherwise need a scripting language and choose WebAssembly instead.

<comment><USER32> One realistic use case that comes to mind for WebAssembly modules outside the browser is extension plugins for tools like Maya, 3DSMax or Photoshop. For such cases it's usually ok to provide a restricted set of APIs, but you gain binary compatibility across platforms and performance that's much better than (for instance) Python or Lua scripting.

</comment></comment><comment><USER33> Can't wait to have popups on my desktop telling me to update my WASM runtime to the latest version!

<comment><USER34> And each app shipping its own copy

<comment><USER35> Electron apps already do.

<comment><USER34> Indeed my comment was a variant on the electron meme to this effect

</comment></comment></comment></comment><comment><USER29> Embedding in other applications seems useful - imagine using it as a general plugin system. It's a bit strange that security and sandboxing aren't mentioned; that seems like WASM's primary value proposition here.

<comment><USER36> Those plugins still need an API in some language to interface with the host. A natural choice would be JavaScript: it's the world's most popular programming language, relatively easy to embed, and runtimes are available in every operating system.

At that point, you don't need WASM separately — just execute JavaScript and allow plugin writers to embed WASM modules for high performance, just like browsers do.

<comment><USER29> Well, if you were doing that, I don't think you'd need wasmer. V8 alone would be enough. Wasmer seems like an attempt to get away from Javascript and interface more directly with WASM.

</comment></comment></comment><comment><USER37> Any real, simple c++ toolchain compiling directly to .WASM?

Emscripten is not really user friendly.

Time is passing, WASM is here but I can't see decent toolchains available to work with it.

<comment><USER32> Depends on how you define "user friendly". IMHO emscripten does what a gcc- compatible C/C++ toolchain is supposed to do:

> emcc hello.c -o hello.html

...which gives you a complete WebAssembly application runnable in the browser.

With VSCode as IDE it's possible to build a fairly nice edit-compile-test workflow with Intellisense and error squiggles.

BUT:

What's really missing is proper debugging support (can mostly be worked around by debugging a platform-native executable compiled from the same source, but working source-level debugging for WASM blobs would be nice).

</comment></comment><comment><USER38> Is anyone working on something like a POSIX layer on top of it? And maybe, someday, a GUI? We have universal binaries now, but what APIs will we call?

</comment><comment><USER39> What problem is this possibly solving? Why wouldn't you just compile your Rust/Go to a native binary?

<comment><USER40> A portable binary like wasm makes deployment easier and potentially makes it more secure/easier to sandbox.

<comment><USER39> Makes deployment harder surely? Now you need to both ship the wasm runner and the compiled code of the executable?

<comment><USER40> The host is supposed to support wasm and most hosts will do.

<comment><USER41> With about 50% of corporate desktops still using Windows 7 with IE11 as the default browser - it's going to take a while before wasm is truely ubiquitous.

<comment><USER42> That's not true: [https://bit.ly/2GMbAN3](https://bit.ly/2GMbAN3)

</comment></comment></comment></comment></comment></comment><comment><USER43> Fantastic! This makes me extremely excited about WASM! (Bonus points for Rust)

</comment><comment><USER44> What's the strategy with dealing with 32-bit vs 64-bit machines?

Historic attempts at using LLVM IR as a universal binary have stumbled on that issue, and typically have ended up deciding to support the lowest-common- denominator machines i.e. 32-bit, meaning that it hasn't been viable to use them for server-style software.

<comment><USER45> Wasm is split between wasm32 and wasm64 they are separate [https://github.com/WebAssembly/design/blob/master/FutureFeat...](https://github.com/WebAssembly/design/blob/master/FutureFeatures.md#linear- memory-bigger-than-4-gib)

So yes, we're at the lowest common denominator for addressing memory. You would need to explicitly build for wasm64 in the future.

Within wasmer wasm is compiled into a different IR through cranelift. That generally compiles for 64 bit systems but can compile to 32: [https://github.com/CraneStation/wasmtime/pull/44](https://github.com/CraneStation/wasmtime/pull/44)

Not sure if this entirely answers your question. Seems like there are still a handful for decisions wasmer would need to make in terms of what exactly is supported.

</comment></comment><comment><USER46> If you are having trouble wrapping your head around WASM (it is a bit funny -- almost but not quite analogous to several more familiar paradigms), I highly recommend this series of posts: [https://hacks.mozilla.org/category/code- cartoons/a-cartoon-i...](https://hacks.mozilla.org/category/code- cartoons/a-cartoon-intro-to-webassembly/)

</comment><comment><USER47> Ah, Pascal UCSD!

</comment><comment><USER14> We should bring back a platform like TAOS.

The TAOS operating system (1991) had a virtual Instruction Set Architecture (ISA). Except for a small kernel, the entire OS was compiled to the virtual ISA, then assembled into actual machine code Just In Time as fast as the executable was being read off disk.

This resulted in an operating system that could run with decent speeds (80-90% of native) on seemingly any hardware, which could be ported to a new platform in just 3 days.

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

<comment><USER48> How is this different from compiling Linux from C to LLVM to native code?

And why would I ever want to generate native code for an OS at runtime?

<comment><USER14> _And why would I ever want to generate native code for an OS at runtime?_

Why? To get write once, run everywhere. If you can do the generation at the speed the data comes off the disk, you're paying nothing for the feature.

If you do things right, the abstract memory model can even be bit-identical. Even though there are differences in the underlying hardware, like endianess, all of the virtual ISAs can still implement the same virtual memory model. Smalltalk also does this, and it absolutely works across 100's of combinations of ISA and OS.

</comment></comment></comment><comment><USER49>
      > curl https://get.wasmer.io -sSfL | sh

Why do people still do this? What happens when owner of the domain forgets to renew it and someone else buys it, and puts up a copy of this site, with the binary replaced? Or if the owner sells it to someone malicious who does that? Or someone messes with your DNS server to serve that?

Please please please never do this.

Oh, and _SERIOUSLY_ question the ability of anyone who suggests doing this to at all reason in a secure fashion.

</comment><comment><USER50> This is neat but it has me thinking. Is there a similar project that allows linking wasm libraries into your LLVM language of choice? Seems like that could allow for shared libraries across languages. The lib would take some perf hit but your core project perf could be unaffected.

</comment><comment><USER51> So ActiveX / Java applets, then Flash and now this. Yeah just another fad. It will pass, and next generation of developers will think something else to make the "holy grail" that is cross-platform everywhere with native speed. And so on and so forth.

</comment><comment><USER52> [http://troubles.md/posts/wasm-is-not-a-stack- machine/](http://troubles.md/posts/wasm-is-not-a-stack-machine/) wasm is already tainted by the legacy of javascript. It was intended as a replacement for asm.js and carries the burden of being too intended to be with javascript and as a way to get "faster javascript" due to how poor javascript is at executing efficiently.

The result is what I'd consider a poor mans java bytecode. The legacy of java was bloat connected to the runtime and its massive standard library coupled with nasty Sun then Oracle burden. And Oracle again being Oracle with what feels like more more lawyers than engineers to threaten.

So we tossed out a standard library and made a poor man's java virtual machine model.

This is java again, it just has massive hype because its better than javascript at actually running efficiently. But it can still be worse than any given other virtual machines out there.

</comment><comment><USER53> I'm guessing that's the point everyone should see. WASM is going to be the new bytecode that works everywhere. If that's not the reason of even Golang started to support Webassembly, I would love to hear your your conjecture.

</comment><comment><USER54> Its literally Java all over again.

Don't. Just. Don't.

<comment><USER55> Why not? A single cross-platform compilation target seems like a great idea.

Java got caught up with some proprietary stuff thanks to Oracle, but there's a useful goal there. In the same way that the web is a useful target for cross- platform UI applications.

<comment><USER47> As if under Sun it was all flowers and such.

</comment></comment></comment><comment><USER56> Why is this post generating so many low effort joke comments? Is the project idea really that bad or are people missing the point?

It's sad to see people wailing on a project that (I'm assuming) people have put a lot of time into without trying to understand what it is and what it isn't.

<comment><USER57> I think because it's very easy to see it as something familiar. People are always skeptical about new stuff plus that familiar thing was shit so this must be shit too.

So no critical thinking leads to lame jokes and "OMG NO JAVA" style comments.

<comment><USER58> Well, the concept is arguably very close to what Java was marketed for. So I think it is quite natural to respond with some kind of Java association.

Nevertheless, I think this is a very interesting project.

<comment><USER20> It is close in the wording but very different in almost every other sense. wasm pushes for many indipendent implementation, it is meant to be very minimal and importantly it is made to be embeddable. In a sense it is closer to lua than Java.

<comment><USER59> At the risk of jumping into this, Java was intended to be small (small enough to run on processors that were below PC-class in the 1990s) and embeddable.

[https://www.javaworld.com/article/2073700/mobile- java/mobile...](https://www.javaworld.com/article/2073700/mobile-java/mobile- java-java-everywhere-is-for-world-domination.html)

The idea of Java running on devices goes back AFAICR to the very beginning of the language. I remember the "Java everywhere" slogan and initiatives to put Java into every device. Java Card was a version of Java designed to run on smart cards. If memory serves, these were all design goals of the Java platform in the early 90s.

(Remarkably, this was all well before Linux really took off, before the Internet was ubiquitous, and when the most sophisticated electronics most households owned was a VHS player.)

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

<comment><USER20> There is indeed a risk that Wasm will end up bloated and fail at its main purpose.

Supporters hope that the web process will prevent excessive features. Actually the dual presence JS/wams will reduce the pressure on JS to be a strong compilation target.

I agree that (almost) no single aspect of wasm is new, but it has a lot of good points.

</comment></comment></comment></comment></comment></comment><comment><USER60> > Build Once, Run Anywhere.

Build once, run where the runtime in available.

<comment><USER61> Kind of like Java

<comment><USER40> Java is slow(to start) and memory hungry. That's why it failed so badly. Compare that with JavaScript/Electron.

<comment><USER62> >Compare that with JavaScript/Electron.

Electron is heavier and even more memory hungry.

<comment><USER63> I don't know what the GP was thinking. Hopefully exactly that.

</comment></comment></comment></comment></comment><comment><USER64> Except the Web part, it looks good. The portable object that nobody agreed upon now happens to be a eloquent JS representation _Sigh_

<comment><USER65> that isn't what wasm is.

<comment><USER64> I remember running good old text WebAssembly about 7 years ago, which is admittedly cool - I was even waiting for Chrome to support it before I gave up on that. I remember how people had to ship a gzip-ed Unreal engine on the web for the first version;

My quip is how the C++ community miserably failed to ship a portable object that could have been used for module based compilation / linking without the AST generation overhead.

Unless wasm really becomes the package/intermediate standard for code, I wouldn't really regard it as useful yet. It would be another Java for me.</comment></comment></comment>


Ivy big number calculator for iOS, © 2015 the Go Authors, sold by Google, Inc - <AUTHOR> https://itunes.apple.com/us/app/ivy-big-number-calculator/id1012116478?mt=8&ign-mpt=uo%3D4

<comment><USER2> More information here -

[https://sourcegraph.com/blog/live/gophercon2015/123653512740](https://sourcegraph.com/blog/live/gophercon2015/123653512740)

"Example of porting a Go application to mobile ivy is a command line tool developed by Rob Pike.

It's a useful desktop calculator that hangles big int, rational and floating- point numbers, vectors, matrices. It's an interpreter for an APL-like language.

It is ~5k lines of Go code (not including tests, docs). It imports math, math/big, unicode, etc.

Rewriting all that in Java or Objective-C would be a lot of work and is a non- starter, since this is already just works in Go.

After 2 hours, Hana had a working prorotype."

<comment><USER3> Hana told Rob she had written a mobile app in go in 2 hours. His response: "why did it take you 2 hours?". Classic.

</comment></comment><comment><AUTHOR> I found this via [http://9to5mac.com/2015/07/10/google-ivy-experimental-big- nu...](http://9to5mac.com/2015/07/10/google-ivy-experimental-big-number- calculator/).

That article speculated that it's a "companion tool for the [Go Programming Language] project".

I couldn't find any other references to iOS apps written using Go, so I'm going to speculate that Ivy itself was written in Go. :-)

<comment><USER2> It's not a companion, Rob Pike wrote the Ivy package and the app was part of a demonstration that it is possible to now interop Go code and Obj-C code.

[https://sourcegraph.com/blog/live/gophercon2015/123653512740](https://sourcegraph.com/blog/live/gophercon2015/123653512740)

</comment></comment><comment><USER4> While I understand accurate handling of big numbers is difficult, I'm surprised it's not the general norm for calculator programs/apps by now. Glad to see someone has done so (not the first, but they are rare).

</comment><comment><USER5> ...for certain definitions of big. 1e100000000 causes an app lock.

Also, what is going on with that app icon? Many startups nowadays have forced quirky-and-random mascots, but here it doesn't make much sense.

<comment><USER6> 1e100000000 would require about 41 MB [0] of storage so that's not as crazy as I thought. No idea what kind of CPU you need for anything other than an addition though.

[0]: log(1eN) / log(10) = N ; therefore: bits_required = log2(1e100000000) = 100000000 * log(10) / log(2) = 3.3e8 bits = 41 MB</comment></comment>


BlackRock bulks up research into artificial intelligence - <AUTHOR> https://www.ft.com/content/4f5720ce-1552-11e8-9376-4a6390addb44 <comment><AUTHOR> Non-paywall link:

[https://outline.com/CsWtYW](https://outline.com/CsWtYW)</comment>


Examples in Number Theory by Terence Tao [2005][PostScript] - <AUTHOR> http://www.math.ucla.edu/%7Etao/preprints/problem.ps

<comment><USER2> Solving Mathematical Problems: A Personal Perspective would be more appealing. You can write a comment to highlight the part of the book that you like

<comment><AUTHOR> Only first two chapters ("Strategies in problem solving" and "Examples in number theory") are available for free, so I took the second one as a title because it has some brilliant strategies.</comment></comment>


America's Most Overrated Product: the Bachelor's Degree - <AUTHOR> http://chronicle.com/free/v54/i34/34b01701.htm

<comment><USER2> Actually I think the umbrella concept is really just that that colleges are businesses. So it is illogical for customers to think that these entities would NOT run as a business i.e. streamline customer turnover, optimize resources, cut costs where possible, market like theres no tomorrow, and MARK UP. This is a gross oversimplification but the point, which i think people really do miss, is that college runs on money, they want your money, and they will do what they need to do to get it.

Post secondary education is not some altruistic gift sent down by the Gods; its an industry that has managed to market a product as 'indispensable' to your childs future; the college degree. The author is simply saying we should treat this consumer product like we would treat ANY OTHER consumer product. Look at reviews, consider cost/benefits, value propositions, long term worth. We should do our research and shop around. We should know not all brands are created equal. And of course we should all take a step back and realize that 80% of what we are seeing is a finely tuned marketing campaign. I hope more people read this article, not because 'degrees are bad' but because all consumers should do their research.

<comment><USER3> It's funny how the price vs. demand curve is often inverted in the education marketplace. Charging higher prices signals customers to think that the education must really be better, and so more students try to get in even when the actual quality of education is no better than at cheaper schools.

Having more data available about the value added by each school would certainly help eliminate this market inefficiency. But if that value add were to be calculated using a standardized test taken by all entering freshmen and graduating seniors that could lead to unintended consequences, such as teaching to the exam rather than providing a liberal education.

<comment><USER4> I don't think price makes people think it's a better education; I think it's US News rankings and popular hearsay put out by books and movies. I bet that everyone who shops diligently for these things believes that the Cooper Union is great, but that expensive non-famous liberal arts colleges are not.

</comment></comment></comment><comment><USER5> Clearly the problem with the US is that we have too much education.

Ugh. Complaining about the drop rate is valid. Sure. But blaming individual actors for systemic failure is no better than blaming your loan officer for the economic meltdown.

Note that critiques of education follow two lines:

1\. You don't get enough for your first job (e.g. real-life skills --- such as C++/Java).

2\. You don't get enough for the rest of your life (e.g. critical thinking).

A cute dichotomy, but unsatisfying. Frankly what I don't like about all this is the static "learn" phase followed by the static "work" phase. I grew up working while in school (not the heroic part-time school, part-time student way, just the lazy "I need RAM money, time for a summer gig" method). I like the idea, and it's made me a better student and a better professional programmer.

What gets me is little incentive I see for people to alternate between school & work. Either you work 12 hrs a day (8 for work, 4 for school), or give up work (& salary) to go back. Neither are good choices if you've got a spouse and kids.

Are there employers that give you a break on responsibilities (at least in hard time) to get an advanced degree? The payoff in smarter employees seems pretty worthwhile.

It'd be better to make undergrad less of a make-or-break situation, and more of a path of work/learning that continues for the rest of your life. But eh, that's more touchy/feely than most would like.

</comment><comment><USER6> this is a terrible article.

the degree itself is not bad, the schools and programs are the things that should be criticized individually. i am content with my degree, because i made it through the curriculum. two of my pals who started with me couldn't cut it, and they were both pretty sharp guys. dropout/failure rate from my major at my school _was_ something like 65%. (i don't know what it is now, could be easier to slide by nowadays)

just because some schools and majors don't have standards doesn't mean that all schools and majors don't have standards.

<comment><USER7> I think you missed the point when you get hung up on the fact that he'd prefer standards. His larger point is this:

 _College is a wise choice for far fewer people than are currently encouraged to consider it._

He's not so much speaking to you, but to your two buddies that couldn't hack it.

<comment><USER6> i don't think i missed the point. i understand what he's saying, but he jumps between two points and fallaciously labels it.

a bachelor's is not overrated. nor is a masters or doctorate. the issue is that technical and vocational schools (the 2 year degrees) are underrated. people view them as for the stupid kids, which is patently false.

</comment></comment></comment><comment><USER8> I think part of the problem is that the way the schools are set up they only encourage doing enough to get by, and don't encourage learning for learning's sake. What concerned me about the article is the author's espousal of some sort of universal test. I think most college students would probably only be motivated enough to learn enough to pass the test, and miss out on more important skills.

</comment><comment><USER9> My degree was a great education in Scheme and AI (Prolog, Bayes, search). I met a few people who I don't talk to much anymore.

My AI was one-to-one, with a couple of lecturers, because I was simply the only person that year to take it. I guess that's why I learned a lot.

I decided not to take a job placement for the 3rd year, as I needed to finish the course before I lost interest.

Do you do the degree quickly or postpone a year with a job?

I got a 2:2 which doesn't look very impressive to employers, but I don't regret taking the degree. An opportunity will come along.

That's one issue - Do you flunk year after year until your grades are at the top, or do you do the degree as quickly as possible and get a lower grade?

<comment><USER10> Not all of us went to MIT.

<comment><USER9> I didn't go to MIT, I was just lucky they let me take AI in the 2nd and 3rd years. In the 1st year, I did well in a regional computer quiz that we entered, so when I needed the head of the school to shout at the people deciding I shouldn't do AI, he did, and I got to do AI one-on-one.

</comment></comment></comment><comment><USER11> That is an absolutely terrible, myopic analysis. Instead of saying that our nation's education system is not adequately preparing students for college, it's making the argument that college is taking advantage of unprepared students.

That makes no sense whatsoever.

<comment><USER12> It doesn't simply say that students are unprepared; it says that colleges do a bad job of teaching, because they staff teaching jobs with people who are trained and competant only to do research work. When it asserts that colleges take advantage of students, it backs it up with arguments like "students end up in large lecture classes" or classes taught by grad students.

<comment><USER13> I think this is a problem with the students as well.

Kindergarteners need to be taught by people who are trained for teaching. Eleven-year-olds need to be taught by people who are trained for teaching. But by the time you get to the the university level, you're supposed to be clever enough that you can pick up a subject just by having one of the world's super- experts in the field stand up and ramble in front of you for a while. If you can't learn without hand-holding, you don't belong at university.

</comment></comment></comment><comment><USER14> I think the problem with the degrees is that they focus way too much on the concepts and way too little on practice. Schools need to offer and require at least one class where you spend days actually doing the jobs available for your major. Instead of doing BS work problems where instead of using Excel like they do in the real world, you have to use a blank piece of paper.

<comment><USER15> To offer the contrarian view, I know many who've changed careers and explored alternative paths because they had a sound conceptual understanding. Yes, you can't just be theoretical, but I'd argue that you go a lot further when you know why you are using Excel in the first place and what you want to achieve with it.

<comment><USER14> well thats the thing in most cases the teachers will talk about the concepts without really touching on how to apply them in real life. So sure you might know what an integer is and know what that does in all languages, but that won't help you program competently

<comment><USER15> No it won't but if you don't know what an integer is, how are you going to program simple math? You have to understand the basics. Programming is implementation, and of course, must be taught well to be mastered, but it becomes a whole lot easier if you understand what you're trying to program. It's not the best analogy in the world, but hopefully makes some sense

</comment></comment></comment></comment><comment><USER16> Let's be honest...the value of post-secondary education is measured in terms of life-experience, not professional. Am I better equipped to function as an economist armed with a degree in economics? Sure. Am I better equipped as a person to function rationally, efficiently and humanely with four years of campus life under my belt? Without question.

</comment><comment><USER17> I had never thought of this. I don't agree that it's overrated, but I agree it can be overrated and marketed too heavily.

</comment><comment><USER18> bachelor degrees are only overrated because of grade inflation.

</comment><comment><USER19> Way to generalize. The points mentioned in this article do not apply to the top tier colleges at all. Consider Harvard, or MIT, or Caltech. These colleges have no problem with cost. The suggestions mentioned in the article will needlessly weigh down these institutions. In return for "protecting" the lowest common denominator who have trouble even with graduating from a 4-yr institutions, we will sacrifice the competitiveness of these top thinkers of our time. Historically, never a good trade off.

</comment><comment><USER20> This article is argued from the assumption that college ought to be like a factory. Comparing dropout rates with the failure rates of manufactured goods is a complete non sequitur.</comment>