Raspberry Pi admits to faulty USB-C design on the Pi 4 - <AUTHOR> https://arstechnica.com/gadgets/2019/07/raspberry-pi-4-uses-incorrect-usb-c-design-wont-work-with-some-chargers/ <comment><USER2> From a Pi consumer perspective, this is not that big of a deal.

However, it damages the purpose (in name) of USB C. Isn't C supposed to be the 'all purpose' spec? If we have popular manufacturers failing to follow the spec, we end up with cables marked as 'compatible with Raspberry Pi' or 'compatible with Nintendo Switch'. To the average consumer (and even most techies), USB C was supposed to be the 'one size fits all' connector. We're slowly heading in the opposite direction.

<comment><USER3> This has always been a criticism of USB C and it proves true time and time again. USB-C tries to be too many things to too many people and ends up with a huge matrix of incompatibility as a result.

<comment><USER4> And the criticism is completely invalid here. The power spec is very clear and unambiguous, and there is only one way to get it right. It is not the fault of the spec when manufacturers cannot be bothered to produce a circuit that has already been designed for them in the spec itself.

<comment><USER5> Blame for this problem is 80% on RPi, no doubt, but I'd say 20% of the problem is someone deciding to allow multiple cables, some with active components in them.

If they'd instead specified that every detachable USB C cable must be 40 Gbps / 100 watt capable, and any lower-spec cable must be captive to the device (like mouse and keyboard cables are) then this problem wouldn't have happened.

<comment><USER6> > If they'd instead specified that every detachable USB C cable must be 40 > Gbps / 100 watt capable, and any lower-spec cable must be captive to the > device (like mouse and keyboard cables are) then this problem wouldn't have > happened.

If you are specifying that every cable is going to be $30 minimum, then your spec is dead from day 0. The USB-C committee has to balance a spec that will be used by a significant chunk of the planet, not all of whom can afford expensive cables.

<comment><USER7> Full-spec cables are only $30+ because that includes a premium margin for being full-spec, as a differentiator.

If _all_ USB-C detached cables had to meet full-spec then there would be price competition.

</comment></comment></comment></comment></comment></comment><comment><USER8> Reminder to self: being an early adopter sucks virtually always.

Edit: Sure, the issue is rather easy to circumvent, but anyone would have preferred not to have it. At the very least, it affects the resale value. My point is that whenever the answer to the question 'do I need it absolutely right away?' is no, it's better to wait a bit, no matter how much you intend to buy it at some point.

<comment><USER9> I simply ordered one with the official power supply(at £8 it's cheaper than literally any branded USB-C charger) and would never even know there was an issue if not for the articles here.

<comment><USER10> Doesn't this mean that you can't use the Branded power supply with anything else? I'm so used to all my micro-usb (and hell, even mini and normal USB) based power delivery systems being 100% compatible, save using a 0.5amp supply simply won't charge my old phone as quickly as a 1.8 or whatever amp supply.

Is this untrue in the world of USB C? I haven't experienced any oddities yet with my Pixel 2

<comment><USER11> The design mistake is on the RPi side, not the power supply side; their branded power supply should work with anything that needs at most 15W (3A @ 5V).

</comment></comment></comment></comment><comment><USER12> While this isn't great, as a consumer I don't really see too big of a problem. If I get a raspberry pi to use for home automation or as a media center, do I really need it to work with every USB-C cable? I'd think I'd just find one that works and let that be the dedicated raspberry 4 cable.

If you're building a product based on Raspberry Pi that you're selling to others, then sure I could understand the outrage.

<comment><USER13> They chose to use a standard so yes it's a problem that they didn't follow it. It's pretty cut & dry here.

Fortunately in this case it fails to 0V so it's not a dangerous or damaging failure, but still the spec literally hands you a schematic. Is it that hard to just copy it? Why did they even try to be clever and use their own design in the first place just to save a single 5.1k ohm resistor?

<comment><USER14> I can give the automotive electronics perspective here. Suppose that resistor costs 2c, including the actual part cost, PCB space, pick-and-place machine time (inc. more frequent spool replacement). Further suppose you expect to sell one million of this device.

$0.02 x 1E6 = $20k

If you are the circuit designer making, say, $150k, you just justified about a month of your salary (after accounting for benefits and other overhead). Your manager may parade you in front of the team at the next big group meeting as an example of how to achieve the BOM efficiency the company need to hit profit margin targets.

<comment><USER15> I've never bought into that reasoning on the automotive side. Selling "one million of this device," as you say, will bring in $20 billion. So yes, they can afford $20K to do the job right.

Also, SMT resistors at that quantity level are more like 1/10 of a cent, not 2 cents, and the PnP machine is running anyway. In fact you often end up using _more_ resistors than strictly necessary, just because the machine holds a limited number of reels and it's cheaper to use more of the same part to arrive at a desired value than to add a new line item.

Things should be as cheap as possible, but no cheaper. Optimizing the cost of individual resistors is almost always a classic example of measuring the wrong thing. We should strive to avoid making excuses for doing that.

</comment></comment></comment></comment><comment><USER16> >a board revision with a spec-compliant charging port should be out sometime in the "next few months."

wohoo. Glad I waited. Hoping they make some incremental gains on the heat situation too

<comment><USER17> Normal-sized HDMI connectors would be great, too.

</comment></comment><comment><USER18> Interesting that two major-ish companies sell products that are out of spec (rpi and Nintendo). Is there any insight on why these decisions were made? Business and engineering opinions would be equally interesting.

<comment><USER19> Well, I followed through to Benson Leung's post where he cites and transcribes the actual USB-C specification and I'm not surprised that the spec is occasionally ignored. The supposedly 'normative' circuit diagram deviates from a conventional circuit diagram. If you want an engineer to pay attention to your instruction don't invent some ad-hoc diagram technique; be concrete and prescriptive, and assume you're dealing with a low caliber worker, because 99% of the time that's exactly who will get tasked to deal with your specification.

[1] [https://email@example.com/how-to-design-a-proper- usb-...](https://firstname.lastname@example.com/how-to-design-a-proper-usb-c-power- sink-hint-not-the-way-raspberry-pi-4-did-it-f470d7a5910)

<comment><USER20> How does it diverge from a conventional circuit diagram?

<comment><USER19> See the circuit diagram above labeled "Excerpt from the reduced Pi4 Model B schematics..." that appears above the spec diagram? That is what I mean by a "conventional" diagram. That is the sort of diagram that people tasked with engineering boards (as opposed to writing standards) are use to dealing with all day. The spec diagram looks like an abstract block diagram, as opposed to a concrete circuit.

Now, you are very likely to say something like "but the spec diagram is a correct circuit diagram and the engineer should be expected to comprehend and correctly implement a circuit using it." And you're not wrong. But unfortunately, as is clearly evident by the frequency of failure to convey the intent of the spec, this expectation is too great. It shouldn't be but it is. That's a difficult thing to accept. For many it is simply impossible to accept. But yet that's the cold, simple truth and standing on ceremony doesn't change it.

When it costs money, in the form of lost sales due to disappointed customers or excessive support costs, "better" (as in more concrete, prescriptive) circuit diagrams are provided. One can see this in the datasheets and application notes from successful component manufacturers. They do this because they have to take the calls when engineers misunderstand things or need their hand held. They do this because they hear from managers and executives when their products are not "easy" to integrate.

Standards authors don't feel this pressure, so the subtle and easily dismissed gap between what appears in standards documents and what people actually want (and therefore pay attention to) is wider. What is wanted is something that appears nearly indistinguishable from what the engineer would expect to see while using Altium or Eagle or KiCad or some other commonly used EDA tool, and not a specification sufficient generalization.

</comment></comment></comment></comment><comment><USER21> I have two RPi4B 4GB models. They work perfectly with the very cheap PSU/charger ($8) from the Raspberry Pi Foundation. $8 is less than a cost of a USB-C cable.

If you want to complain something about the product, I think unfinished software would deserve more attention. The current desktop performance doesn't reflect the capabilities of the system. I guess it'll significantly improve once OpenGL ES 3.2 (and hopefully Vulkan!) drivers will be complete.

Other minor issue I had was RPi4B not recognizing the HDMI display. I had to manually force it and this caused loss of HDMI audio. Using the official Raspberry Pi branded micro-HDMI cable.

I hope Raspbian will eventually have a 64-bit version. Out-of-order cores can benefit from more registers in 64-bit mode. More registers allows the compiler to reduce true and false dependencies, leading to faster code execution.

CPU wise it's nice, quad Cortex A72 is a _huge_ boost compared to A53. Hardware accelerated omxplayer can play 4K HEVC content nicely. USB 3 ports have up to 4 Gbit/s bandwidth, and it's not shared with the now truly full speed gigabit ethernet.

I'm very happy with the product. RPi4B is a _very_ capable system for its price. And it'll just get better over time.

<comment><USER17> There is a 64-bit Kali Linux image for the Raspberry Pi.

[https://www.offensive-security.com/kali-linux-arm- images/](https://www.offensive-security.com/kali-linux-arm-images/)

</comment></comment><comment><USER22> I mentioned in an earlier thread, I had so much trouble using any charger I already had with the 3B+, I just assumed it wouldn't work with most chargers this time either and ordered a kit with an official one.

<comment><USER23> Same, I traced it back to my penchant for buying cheap shit cables. Measure the voltage at the back of the USB connector on the Pi3, it should be > 4.9 always.

</comment></comment><comment><USER24> Is it possible to fix? Sounds like it's just missing a resistor? Break out the soldering iron and maybe could it could be salvaged.

<comment><USER25> Part of the problem with this seems to be that the extra pads are not exposed, making it _really_ hard to do fix without removing the connector.

</comment></comment><comment><USER26> I preordered, and it hasn't shipped yet. I wish there were an option to wait and get a fixed one later instead.

<comment><USER27> I ended up cancelling my pre-order from Element 14, you could potentially do the same depending on who you ordered from. I didn't cancel because of this, but just because I got really busy with work and I know it'll be a few months before I get to pull it out of the drawer. Better to let someone else have it to use than take a pre-order spot for my desk drawer.

</comment></comment><comment><USER28> I think the Pi team unintentionally became dependant on the time window they normally spent using test boards based on pre-release versions of the Broadcom sytem-on-a-chip. When the Broadcom chip went final really early they ended up shipping a half-baked version of the board along with it.

</comment><comment><USER29> They should offer group labs to DIY fix the pcb

</comment><comment><USER30> Do I still need to pay them extra cash to get video codecs codes?

</comment><comment><USER31> "E-marked cables are fully featured USB-C cables with chips inside"

That's um... awful.

<comment><USER32> The whole USB-C PD spec is overly complicated but in this case these chips are to ensure that someone doesn't push 4a/19v over an improperly built USB-C cable - that can lead to fire and burns.

Also, other cables may have chips in them for data negotiation, specifically TB3/PCI encapsulation (the data rate is so high that over 6 inches you start to run into issues).

<comment><USER31> So, the spec allows an under-gauged cable to be plugged into a power outlet, and then relies on software (instead of a fuse) to not start a fire.

I'm looking for a word... worse than awful...

<comment><USER33> You can plug a 5 amp rated extension cord into a residential plug on a 15A breaker and the breaker won't protect you from overloading the cable with 15A. So yes, those sorts of light duty cables have their own fuse to prevent this.

But I _really_ would not trust all the no-name vendors flooding the market with shitty USB cables to include correct safety measures in all of their cables, so requiring cables to specifically request higher power levels seems like a better precaution to rely on in this case.

</comment></comment></comment></comment><comment><USER34> >a board revision with a spec-compliant charging port should be out sometime in the "next few months."

Are they going to change the boxes and their product spec to remove USB-C from it when they are not USB-C compliant?

</comment><comment><USER35> Great maybe theyll deliver the 8gb model while theyre at it

<comment><USER36> There is no 8gb model, there is no memory chip of that type that would fit in the spot.

<comment><USER35> hm alright, thank you

</comment></comment></comment><comment><USER37> Damn, did they just Osborne themselves? I for sure have decided to hold off on a Pi-4 until this issue is fixed, since its really a hassle.

Maybe a smarter move would've been to bundle the Pi-4 charge (non E-cable) to avoid dissatisfaction with this mis-design ..

<comment><USER38> They provide their own charger. It works, I've got one.

<comment><USER39> Yes, but it's an extra expense. If you've got spare USB-C chargers you could use, it's tempting to wait.

<comment><USER40> Their USB charger costs 7€. From my experience: Just buy their charger and you'll have no problem. I've seen so many attempts at powering the Pi with alternative sources that suck and cause problems. 7€ is worth avoiding that.

<comment><USER41> Remember when the EU had to pass laws to prevent everyone from making their own bloody chargers with proprietary plugs for mobile phones, because _no one needs their own custom charger_? Yeah, that.

It doesn't matter how cheap their charger is, no one should need to even buy one. RasPi botched their USB-C implementation, and the solution to that is not "buy yet another charger", it should be "we're fixing the design immediately, and it's going to cost us a fair bit but you can send your board back to get it replaced"

<comment><USER40> That's actually a good point I didn't consider.

</comment></comment></comment></comment></comment></comment><comment><USER42> How hard is it to to copy a [expletive] schematic?

Edit: I'm serious. What convinced them to implement a design different from the example in the spec that simply _does not work_ (hello, testing?)?

<comment><USER43> The USB-C spec is 300 pages with multiple errata and revisions. It's not just one schematic.

<comment><USER44> FTA: Benson Leung seems to think they should have copied figured 4-9 -- [https://email@example.com/how-to-design-a-proper- usb-...](https://email@example.com/how-to-design-a-proper-usb-c-power- sink-hint-not-the-way-raspberry-pi-4-did-it-f470d7a5910)

I don't think a long and imperfect specification is a good excuse for getting this one wrong -- since this specific part of the spec is a MUST and accurate.</comment></comment></comment>


Microsoft is Dead (2007) - <AUTHOR> http://www.paulgraham.com/microsoft.html <comment><USER2> Everybody: please don't flag this, I don't think it deserves it (and vouched it out of being flagged), especially since discussion threads have already started

If someone wants to look at opinions over time, here are the past submissions, all with user discussions.

2 years ago: [https://news.ycombinator.com/item?id=7182179](https://news.ycombinator.com/item?id=7182179)

5 years ago: [https://news.ycombinator.com/item?id=2085601](https://news.ycombinator.com/item?id=2085601)

6 years ago: "Paul Graham revisits "Microsoft is Dead" [https://news.ycombinator.com/item?id=554295](https://news.ycombinator.com/item?id=554295)

9 years ago (8.5 actually, algolia rounds that up it seems): [https://news.ycombinator.com/item?id=9770](https://news.ycombinator.com/item?id=9770)

<comment><USER3> Well, unfortunately this post has been flagged a few times I think. Weirdly, I would have expected to see the "vouch" button show up that was recently added, but I don't see it. Is it not implemented yet, or maybe I don't have access to vouch?

<comment><USER4> It only shows up on posts that are dead (marked [dead], [flagged], [dupe] etc.).

</comment></comment></comment><comment><USER5> > Their victory is so complete that I'm now surprised when I come across a > computer running Windows.

 _Sigh_. It's clear that PG, as good a writer as he is, is the one in another world.

<comment><USER6> When two worlds are different, each is "another world" to the other. What pg means is—well, actually, he tells us later in the same paragraph:

 _All the computer people use Macs or Linux now. Windows is for grandmas, like Macs used to be in the 90s. So not only does the desktop no longer matter, no one who cares about computers uses Microsoft 's anyway._

Obviously, pg is exaggerating slightly here for effect, but if you go to a conference for a "cool" language like Elixir or Go—or even for a more established but still slightly edgy language like Python or Ruby—what you'll see in the audience is a few islands of Windows in a sea of Linux and Macs. Go to a more corporate-y conference and you'll see a lot more Windows. So—which world is the past, and which is the future? ( _Hint_ : At the corporate-y conference, are there more or fewer Macs than there were five years ago?)

<comment><USER7> And if you go to anything game dev related, you know, that place where all the cutting edge GPU related stuff happens, you'll see Windows everywhere.

<comment><USER6> When virtually every dev _not_ in gaming is using a Mac, which is the future, and which is the past?

<comment><USER5> This is the same myopic view expressed by PG: you're only seeing what's right in front of you. There are plenty of web developers who aren't in gaming and use Windows on a day-to-day basis. This business of "future" and "past" is exceedingly silly. The right choice is the tool that you can do your job best with.

For lots of people, that's Linux. For lots of other people, that's Windows.

<comment><USER6> The way to tell the difference between the past and the future is to look at the derivative. For example, in an attempt to get to know Windows better, I recently asked the only top Windows-using dev I know what his environment and tooling look like. "Oh, I switched to a Mac last year," he said. That migration is typical, and suggests that people who care about computers will continue preferentially switching from Windows to Mac and Linux.

A similar thing happened a few years ago when Subversion was still the dominant version control system and SourceForge was still the main repository for open-source projects. It was 2008, and I was at a dinner seated between the CEO of CollabNet, principal corporate backer of Subversion, and the outgoing CEO of SourceForge. I asked the CollabNet CEO what he thought about Git. His view was that there was a winner among open-source VCSes, and that winner was Subversion. Then I asked the SourceForge CEO if he'd heard of GitHub. He had, but was unconcerned, since SourceForge was was cutting million-dollar deals while GitHub was still relatively small, having launched only in April of that year.

Now, I was in Y Combinator at the time, so I definitely shared pg's "myopia", and at that point basically everyone I knew had switched to Git and GitHub. I thought to myself, "These guys have already lost, and they don't even know there's a war." And indeed things have played out exactly as I expected, with Git and GitHub crushing Subversion and SourceForge into irrelevance.

So you see that there's a fundamental asymmetry between what pg sees in front of him and what you might see. Being in YC means you're "living in the future" [1], which is why pg writes with such confidence about the direction things are going. Subversion, SourceForge, Windows; Git, GitHub, Mac, Linux. The latter may still be big in absolute numbers, but the derivative tells you that the smart money is on the latter going forward.

[1]: [http://paulgraham.com/startupideas.html](http://paulgraham.com/startupideas.html)

<comment><USER5> This _reads_ persuasively, but the problem is that the same arguments have been made consistently since as long as I can remember. When I was an undergraduate, people were saying much the same thing, and almost nothing has _really_ changed.

I myself have always had both Windows _and_ Linux (and occasionally OSX) boxen around to help me do what I need to do - so what's right in front of me doesn't seem so one-dimensional as what PG writes about. I've also been in and out of some radically different industries (for example, appdev consulting vs aerospace & defense), and it seems pretty obvious to me that "best tool for the job" is the future and it always has been. That means there will always be a place for Windows and BSD/Linux+derivatives (I throw OSX in this bucket), and there will always be engineers of many stripes using each one (or multiples).

I mean, seriously: even Git - which really does seem to have utterly won the VCS wars from a certain perspective, is still just one of many in reality. _Lots_ of people use Perforce. Legion upon legion still use TFS. BitKeeper is still kicking around. Subversion still has substantial usership. Even CVS is still around. Pretty much the _only_ VCS technology that has truly been defeated is RCS/SCCS, and probably only because they never figured out how to handle directories or else they'd still be around too.

That's why I find these kinds of prognostications to be very silly (although fertile ground for gathering up fake internet points and/or blog readership).

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Paul may have been on to something during this time frame. It is nice to know that Microsoft turned itself around if they were indeed headed the wrong way.

Microsoft has been around a long time. Any company that can continue to adapt will also continue to stay in business. Microsoft has shown a capacity to do this. Today's news and products reflects this well.

</comment><comment><USER9> "They still make a lot of money—so does IBM, for that matter. But they're not dangerous."

This seems to be the quote that sums up the sentiment. Not that they're technically going out of business anytime soon.

<comment><USER10> And you wouldn't say that the past year is directly contradictory to this?

<comment><USER11> I think the point of the word "dangerous" is a direct reference to the Microsoft of yore.

For those of us old enough to remember (and others who have read about the history), Microsoft was legendary for "Embrace. Extend. Extinguish." an internal credo that became known outside the company and came to represent the ruthlessness with which Microsoft flexed its muscle in new technology markets.

Microsoft was notorious for changing the way Windows works to stymie competitors, one of the most well known of these tactical maneuvers being the integration of IE into Windows which eventually killed Netscape. That particular bit of integration eventually led to their conviction under US anti-trust laws.

Microsoft's culture has since changed. Microsoft no longer seems as interested in blocking all competitors. They are building products that leverage standardized platforms and the present-day Microsoft even meaningfully contributes to open source projects and refrains from promoting incompatible work-alikes.

In other words, Microsoft is becoming once again a formidable company, this time with the that they tolerate (and increasingly collaborate with) other companies that develop technology to benefit users.

Microsoft is discovering that being successful does not mean shutting everyone else out and for this reason they are not "dangerous" in the sense they were in the 1990s when their efforts and "success" in many ways prevented the industry from advancing.

EDIT: Readability and style.

<comment><USER12> Netscape killed itself, they lost the fight to Microsoft on several fronts, including the quality of the browser. Chrome and Firefox fair quite well against which was de-throned even tho it continued to be shipped as the default browsers on most machines with pre-installed Windows.

<comment><USER13> Firefox _is_ Netscape. There's a reason you download it from Mozilla.org. It's an amazing demonstration of the power of open source to allow good software to exist and thrive beyond its original mission.

<comment><USER12> Netscape kicked started Mozilla, the later versions of Netscape were built on top of Firefox not vise versa.

The Firefox browser was a project unrelated to the original Netscape browser (Gecko was build from scratch under Mozilla).

Netscape only open-sourced Netscape Communicator, an effort which took them over a year during which they didn't work on their browser at all. That combined with switching their browser development effort to Gecko under Mozilla is pretty much what killed Netscape as it gave Microsoft 2 free years in which Netscape didn't release any substantial releases or released pretty broken software.

Basically after releasing Netscape 4 in 1997 it took them 3 years to release something functional in the form of Netscape 6 (there was no 5 AFAIK), and Netscape 6 compared really poorly to even IE5 which had 2 years of no competition to take over the market, and IE 6 which was released about 6 months later pretty much smoked Netscape 6.

Netscape indeed should get quite a bit of credit for Mozilla, but I really hate when people say that IE won because Microsoft was evil, IE wont because Netscape did allot of mistakes along the way.

</comment></comment></comment></comment></comment></comment><comment><USER14> 2007: Microsoft is dead because no one is afraid of them. 2015: Is anyone afraid of Google?

<comment><USER15> Not sure if your question is sarcasm or not. Realistically, any startup can be afraid of Google, Facebook, Apple etc. If they decide to compete in your market and you can't adapt fast enough, you'll get crushed.

</comment></comment><comment><USER16> >One of the reasons "Web 2.0" has such an air of euphoria about it is the feeling, conscious or not, that this era of monopoly may finally be over.

And now in the post "Web 2.0" era, monopolies may be out, but walled gardens, superspy databases, and DRM'd things (tractors, coffeemakers, etc.) that you don't really own are in. What's the next wave of euphoria?

Possibly re-decentralizing the internet? Doesn't sound like a Microsoft thing.

Giving control back to the user? That sounds more Microsofty. Given the choice between using local software that you choose and control vs a remote app (from the the only walled garden you can access) that spies on you, rifles through your data, and may delete it at any time without your permission... They could find a market.

At the moment, Microsoft is kind of unique in having an OS that's not tied to a walled garden app store by default, and which is centered around local desktop software (that usually doesn't have a lot of spying built-in) designed to work with local data. (other than Linux of course)

The privacy issues of Windows 10 (in the default settings) do not indicate that they're going that route.

</comment><comment><USER17> Enough time has elapsed in the 8 years since this was written that not only does everybody already know Microsoft is dead in the sense meant here, but the interesting question has now become:

 _Admittedly, it is a long shot, but could Microsoft start to matter again?_

<comment><USER18> I am personally excited about what Microsoft is doing with Visual Studio, MVC (Orchard, .NET), Surface, MS Band, Win10, and Azure. They continue to innovate and improve their products.... What more can consumers and programmers ask for?

</comment></comment><comment><USER19> Microsoft is Dead. Long Live Microsoft.

</comment><comment><USER20> > The most obvious is Google. There can only be one big man in town, and > they're clearly it. Google is the most dangerous company now by far, in both > the good and bad senses of the word.

This is an interesting quote. Who's the big man in town in 2015? It's probably still not Microsoft. But I'm not sure it's Google either - maybe it is, though. Is it Facebook? Apple? Amazon? Uber?

I think you could make an interesting, but not overly convincing, case for each of those companies. I wonder who pg considers the big man in town.

<comment><USER21> My vote is for Facebook.

</comment></comment><comment><USER15> It's interesting how the article mentions this: "The last nail in the coffin came, of all places, from Apple." Funny how much the industry has changed in 8 years.

</comment><comment><USER22> It's an interesting view, and in some ways it is correct.

The Microsoft of the early 2000s is dead, and we have have (imo) a new Microsoft which is again producing some very interesting bits of technology and have evolved Windows into something, which whilst not necessarily better, is certainly more fitting for how we use technology today.

</comment><comment><USER23> Paul Graham was talking about something that sounded like either a distributed compiler or search/computing engine in 2008 at PyCon[9] and it can be argued it is something like the decentralized computing trend happening now. He said it would be "a byword for impossible" The thing about google is that, like Microsoft, it is a highly diversified company that does one thing and that is dangeroud. Peter Theil calls it a monopoly, maybe I would be a bit more delicate. Google and Microsoft have a ton of different products but each company really only sells 1 thing, a utility.

Microsoft was a BASIC interpreter for the Altair, and google was that for the web. For the reasons addressed in PG's article _Microsoft is Dead_ , it is evident that needs change but utilities usually don't. If you read _What Microsoft Is this the Altair Basic of?_ after this article, it is super short and basically says, the burden of proof is on you to not miss the next big idea.

So much crazy shit is happening now it is difficult to say what will kill google. This essay was in 07', but it was too eary or too obvious, as he closes with. If 4 things killed google I would say they are:

hardware: Hardware is definitely important, and we can argue about how and what context, but google doesn't build any. All their infrastructure, while massive, will be deprecated.

privacy:"Don't be evil" is !== "Be Good".

Advertising: Advertising is going to be A LOT less valuable, and the places it will be valuable have banned google.

Decentralized Tech: No idea what the interim search engines will look like but it will be __________ then Artificial Intelligence. I think it is private search, where you buy computational resources and algorithims from a network but supply the seed data for your preferences and retain them. Probably BTC/PGP will replace DNS and you will send or lease your own googlebot and people will sell distributed search algorithims. While Chrome and the v8 engine make a pretty good google bot, people don't really trust google anymore which is why microsoft lost. No idea what it looks like, but it feels like someone is building it now.

[0][http://www.paulgraham.com/altair.html](http://www.paulgraham.com/altair.html)

[9]If you know what I am talking about, and you know what he means by saying the name for it is "a byword for the impossible", I have been trying to figure out what he meant for ages.

</comment><comment><USER24> They have $100B in cash... They can make one or two transformative acquisitions.

All this doom and gloom a decade ago was a great chance to pick up a delicious dividend paying stock.

</comment><comment><USER25> Well, Yes Microsoft is dead. Or the Old Microsoft is dead. The New Microsoft, while not exactly in great shape, but at least they are learning and moving forward.

</comment><comment><USER26> Can someone in the games industry venture an opinion of the danger MS poses in 2015? It seems they are innovating and buying more in this realm than otheres.

<comment><USER27> I'm in the games industry as an indie and... well it's a big place and there are lots of changes going on.

I wouldn't say they pose a danger to anybody who wants to make money making games. There will be no Embrace, Extend, Extinguish scenarios on the horizon which is what I think people mean by dangerous.

Some people think VR is going to be big, but I think it's just a passing fad like 3DTV. The new minecraft stuff will be big, but I don't think World of Warcraft big.

Indie PC games was all about Steam, but everybody is talking about the indie- apocalypse because steam recently got flooded with a lot of titles so nobody is making money there any more.

Similar things are happening in iOS where production values are very high now which means the stakes are very high. It's still very much a lottery.

The consoles are pretty much dead to me personally. I don't know what published think about it all.

Then ofcourse there is the raging debate around free-to-play and premium games on every platform.

<comment><USER28> Minecraft is already bigger than World of Warcraft, even without VR.

</comment></comment></comment><comment><USER29> does not look dead to me (at least in the home OS market) [http://hwzone.co.il/wp- content/uploads/2015/10/wwm.png](http://hwzone.co.il/wp- content/uploads/2015/10/wwm.png)

those numbers are from September. Microsoft is claiming 110 million devices running windows 10.not dead at all

</comment><comment><USER30> Can a mod update the title to say "(2007)"?

<comment><USER31> yes this just feels like link bait.

</comment></comment><comment><USER32> Micro.

Microsoft, Rebirth.

Microsoft, Part 2.

Microsoft, the Comeback.

</comment><comment><USER33> I secretly hope Microsoft and Windows dies. Then we can unite underneath a common core -- Unix!

<comment><USER34> Well it's not so secret anymore haha. But why do you want Windows dead? I'm not much of a fan either, but competition is good.

<comment><USER33> I don't like that there has to be 2 ways to do one thing. For example: [https://docs.python.org/2.0/ext/dynamic- linking.html](https://docs.python.org/2.0/ext/dynamic-linking.html)

</comment></comment></comment><comment><USER35> This is timely again, putting out new hardware and integrating every device with windows, even open sourcing its development platform isn't going to bring the developers back from the web.

Personally I don't think it was as obvious in 2007 as it is now, that all apps would be on the web. Whats stranger is that Microsoft still doesn't seem to understand this.

</comment><comment><USER36> Dupe post it has been on Hacker News before. It is a 2007 article.

The classic Microsoft is dead, the Post-Gates Microsoft does Windows 10 and uses Cloud services.

<comment><USER37> I don't think it was true in 2007, but it appears to be true in 2015.

<comment><USER38> I haven't been as excited about MS in a long time. I don't root for any one OS; I use what works for me. I have had, and still have them all: Mac OS X, Linux, FreeBSD, and Windows 8 and 10. MS has open-sourced some really cool stuff [1]. Microsoft Research [2] is amazing; just look at the front page (Z3 high-performance theorem prover for one, F# and dev tools, Typescript, Simon Peyton Jones (Haskell) F* which has dependent types and compiles to F# or OCaml). I cannot find a similar site for Apple. The Apple domain is just a big online store for me selling product. MS Research is a cool site to browse just to see what tech they are developing and open sourcing. I think Apple is stagnating with the evolution of iOS like Android. I like the tiles in MS Windows 8 and 10 with live updates vs. the Android, iOS widgets and icons. I have owned Apple iPhones, Androids, but now I am looking at the MS Lumia 950XL when it becomes available. Android is not where I think it should be at by this iteration of the OS, and I am not locked in to any one eco-system, so the iPhone is not an option, although it still is a great design.

[1] [https://github.com/Microsoft](https://github.com/Microsoft) [2] [http://research.microsoft.com/en-us/](http://research.microsoft.com/en-us/)

<comment><USER39> Aren't there waves ? This is how I see it [http://4.bp.blogspot.com/-SKfrICxISAo/U6H2fevDD_I/AAAAAAAAEA...](http://4.bp.blogspot.com/-SKfrICxISAo/U6H2fevDD_I/AAAAAAAAEAg/-iQHMCc- lRU/s1600/safari_absolute_statowl.png)

Apple was at the forefront after their revival. Google caught steam in the early 2Ks. Now they're both busy sustaining their model and Microsoft is eager for fresh love so their grabbing the ball. And that ball is half of the Apple style of product design and communication. That's the first time MS is so deep into aesthetics, glamour, engineering and talks. Before that it was a lot more nerd oriented.</comment></comment></comment></comment>


Findpit.com: Building a Twitter Image Search with Embedly and jQuery.  - <AUTHOR> http://blog.embed.ly/findpitcom-building-a-twitter-image-search-wi

<comment><USER2> Cool use case! Great post!

I'm shocked by how few companies, especially those creating dev tools, offer clear tutorials showing you how to actually use their products (that go beyond the vanilla API docs). Obviously you should encourage people to use your tools in any way they want, and even devise new ways to use them, but offering some clear, concise suggestions/examples is so incredibly useful.

Way to go embed.ly!

<comment><USER3> Agreed, great work embed.ly; it's a pity there's no way of even knowing they have a blog if you navigate to <http://embed.ly/> though. Hence, this detailed blog post is basically undiscoverable unless you already knew it existed.

<comment><USER4> Thanks for the suggestion, just added a link to the blog to the front page of <http://embed.ly/>

</comment></comment></comment><comment><AUTHOR> Twitter seems to be having search issues with OR statements and filters. They are only returning a limited amount of results. I'll update when it's worked out.</comment>


Agatha Christie And Nuns Tell A Tale Of Alzheimer's (2010) - <AUTHOR> http://www.npr.org/templates/story/story.php?storyId=127211884 <comment><AUTHOR> <http://blogs.wnyc.org/radiolab/2010/05/05/vanishing-words/>

[http://www.guardian.co.uk/books/2009/apr/03/agatha- christie-...](http://www.guardian.co.uk/books/2009/apr/03/agatha-christie- alzheimers-research)</comment>


Ask HN: Web doc service with node executables - <AUTHOR> Trying to figure out what the name of a service is  called. The service allows you to sign up and create pages with documentation and also javascript that has access to npm modules and automatically visualizes the returned json data <comment><AUTHOR> found it, runkit</comment>


Twitter Is Said to Buy Employee Stock With Half of $800 Million in Funding - <AUTHOR> http://www.bloomberg.com/news/2011-07-22/twitter-is-said-to-buy-employee-stock-with-half-of-800-million-in-funding.html

<comment><USER2> Twitter is already the dominant force in whatever it is you would call what they do, and they can't fund their operations without huge influxes of cash at regular intervals. This makes me wonder why investors would let them spend investor money on something that doesn't at all help them stay afloat long enough to become profitable.

Perhaps there is something in this that makes them more likely to be a success? Perhaps they are making employees agree to stay for some amount of time as a part of accepting an option buyout? Giving away 5% of the value of your company seems like an expensive way to avoid some SEC paperwork, so I'm at a loss on why they would do this, other than just to be really nice.

<comment><USER3> I think it does align some of the founders and early employees with the investors.

The founders get to pocket a few million dollars, stop worrying about their paychecks and from there, they can shoot for the stars, which is something the investors want.

<comment><USER4> I'm guessing the founders have already cashed out, at least partially.

</comment></comment></comment><comment><USER5> I'm very much a layman with regard to SEC rules, but I believe there's a rule that says you have to go public if you have 500+ shareholders. So, if 100-200 employees are willing to sell all of their stock now, does that mean Twitter gets to avoid being hit by the SEC rule for another 6-12 months?

<comment><USER6> As I recall, it's not that they force you to _go_ public, it's that they force you to start reporting a lot of information publicly (revenue, etc.) similarly to how public companies have to.

<comment><USER7> So you get the downside of being public but not the upside.

</comment></comment></comment><comment><USER8> If I were Twitter employee, I would have cashed out. I can see Twitter will follow the same pattern as Myspace.

<comment><USER9> This guy makes an argument as to why:

[http://www.shoemoney.com/2011/07/13/twitter-will-be-as- worth...](http://www.shoemoney.com/2011/07/13/twitter-will-be-as-worthless-as- myspace-shortly/)

</comment></comment><comment><USER10> It's always nice to be able to take something "off the table."

If I had an investor that was willing to pay me, directly, for 10 - 20% of my shareholding in a private company whilst additionally adding extra cash, I would take the offer too.

It's not like Twitter decided to use half the $800m to buy-back shares instead of investing in the company, they just decided to get some cash out instead of just taking $400m.

</comment><comment><USER3> Anyone else not surprised?

<comment><USER11> could you explain? I'm a noob wrt the stock market.

<comment><USER12> It sounds two things are happening. First, some if the money Twitter is raiding from new investors will go to buy stock held by current shareholders; effectively half the money Twitter raises is not going to be used by Twitter. Second, the other half is going to Twitter as normal.

</comment></comment></comment><comment><USER13> Not surprised at all</comment>


Ask HN: Raspberry Pi distro for flooding ISP logs? - <AUTHOR> Hi,
I have an idea for an application, but I lack the expertise to build it.
Problem:
ISPs are required, by UK law (link below), to record websites visited by its customers. Many people see this as an infringement of their privacy.
My idea:
Raspberry Pi + "Some OS" that is always on and always hooked up to your router.
This OS's sole purpose is to simply spam random URLs at max capacity. The idea - fill the logs with noise, to hide what you're actually doing. These shouldn't be massive sites or anything - data caps should be considered.
It could be as simple as wget <long list of dynamically-changing urls>. The installation and setup process should be very simple.
Then people just get
* A raspberry pi * This (preferrably OSS) OS. * Plug it in, install and "set it and forget it".
https://www.theguardian.com/world/2016/nov/19/extreme-surveillance-becomes-uk-law-with-barely-a-whimper <comment><USER2> They're still going to be able to see exactly what you are doing, they probably have all that data indexed and easily searchable by keyword. So it wont matter if you visit hundreds of random websites, they will still be a record of the exact the sites you are trying to hide from them. But I applaud your creativity and cleverness. Hiding via obscurity is not proper security. You would be better off buying a cheap vps and creating your own private vpn over ssh for web browsing.

</comment><comment><USER3> Just use Tor.</comment>


LSD – Line Square Dot Game - <AUTHOR> http://lalo.li/lsd/?ultra-hard-version <comment><AUTHOR> hi, OP here.

coded this game once upon a time for a viennajs (js meetup vienna) talk. added a little bit more game logic yesterday.

homegrown physics engine (buggy as you will find out) inspired to some degree on what i learned via [http://annotated-code.maryrosecook.com/circles- bouncing-off-...](http://annotated-code.maryrosecook.com/circles-bouncing-off- lines/) (saw this on HN, decided that it should be a game)

issues:

* sometimes dot gets stuck on a line (strangely this happens more on mobile phones then on desktop)

* sometimes dot vanishes (i suspect a NaN error)

* on windows phone lines can not be drawn sticky (not a clue on how to debug this on a mac)

why did i do it:

* for the love of code

* i like simple games (this is another one of my games [http://www.fullstackoptimization.com/bubbles/](http://www.fullstackoptimization.com/bubbles/) )

pull requests / forks welcome [https://github.com/franzenzenhofer/lsd](https://github.com/franzenzenhofer/lsd)

<comment><USER2> Hi, great idea with the Line Square Dot, though I find it enjoyable only on a touch screen.

Your game "Bubbles" reminds me of Osmos ([http://www.osmos- game.com/](http://www.osmos-game.com/)), has it inspired you?

<comment><AUTHOR> Osmosis + Asteroids kinda

but basically it was explorative coding: start with a circle, OK, let's move the circle around, what's next? More circles, OK what happens if the intersect ... And so on.

<comment><USER3> It also reminds me a lot of agar.io

<comment><AUTHOR> timeline wise bubbles was first (osmosis is the great-grandfather), but as always: ideas are in the air, forked, replicated, mutated, pivoted, and then taken multiplayer (agar.io is genius, love it)

</comment></comment></comment></comment></comment><comment><USER4> It's funny how a game featuring literally a line, a square and a dot can make one core in my machine go nearly 100%. Yay webapps!

EDIT: And it does not run at 60 fps.

<comment><USER5> Any program that runs in an infinite loop will use 100% CPU.

<comment><USER6> Stutters pretty bad on my UHD screen :(

</comment></comment></comment><comment><USER7> A border around the playfield would help - I keep trying to draw lines that extend slightly outside the browser window, and inadvertently do things like grabbing a bookmark from the bookmarks bar above.

<comment><USER8> Yeah, that would help a lot. Also might be possible to see where the ball comes back in a little earlier then. Another little helper would be to draw the level-start-lines not completely up to the border. Because often you can then still route around them all to reach otherwise unsolvable levels.

</comment></comment><comment><USER9> Felt like I was mostly playing jezzball. Simply trap it in a box and keep narrowing it down until they touch. Fun!

<comment><USER10> My immediate reaction too, that was such an awesome game.

</comment></comment><comment><USER11> polygons!

edit: got to level 10 with this approach before giving up. basically, bound the ball into an area towards the goal as soon as it gets there by enclosing it in a polygon. as long as you keep getting it closer, you eventually get it into a polygon with the target - it works out. It will even pretty much guarantee the ball eventually goes through small gaps it needs to to pass through one polygon to another

Seems like a good explanation for how gases work.

<comment><USER12> I have used same strategy and is sure to work on any level because eventually it'd just converge the ball towards the box.

<comment><USER13> ...except for the bug where the ball gets trapped in a line and pops out of an enclosed polygon.

<comment><USER14> Or when the box is completely surrounded by lines and your only hope to win is a bug :)

I also try to make the box the area in my polygon with the lowest potential energy. It seems to (mostly) obey conservation of energy, so....

</comment></comment></comment></comment><comment><USER15> The biggest abuse in this game is that the ball can be pushed through the walls with enough lines drawn onto it

</comment><comment><USER16> This is the best game i've ever played in my life! super addictive!

</comment><comment><USER17> Surprisingly addictive for such a simple game. Too bad the acronym didn't spell out "cocaine" or something.

Nice work. If you wanted to spiff it up, you might change the dot to a basketball and the square to a hoop. And add some satisfying sounds. Bouncing on the rim and having the net move in a plausible way would be some work for you. :)

</comment><comment><USER18> Forgive me but can anyone summarize how to actually play this game?

<comment><USER19> Draw lines in order to bounce a dot to square. Simple "physics" game, quite fun actually.

</comment></comment><comment><USER20> Can't wait till someone makes an AI for this.

</comment><comment><USER21> I broke it, the ball stuck on the line

</comment><comment><USER22> Cool little game, even better that it's made without a framework. Maybe you should add a facebook opengraph image so it looks a bit more attractive when shared.

<comment><AUTHOR> done (using a really cheap og:image image)

</comment></comment><comment><USER23> Level 3 and it's impossible:

[https://i.imgur.com/OOu7rsn.png](https://i.imgur.com/OOu7rsn.png)

<comment><USER24> Its very doable, you got to glitch it (strangely, I got pretty good at glitching it through, and then I realized, my morning was gone, and I had to go work)

<comment><USER25> I'm loving the glitches; made a bit of a rail gun by putting the ball on top of two really close parallel lines!

</comment></comment></comment><comment><USER26> If you draw the line while intersecting the dot, the latter gets trapped on the former.

<comment><USER27> The OP posted 45 minutes before you with a very polite and open message which describe the problem you have stated and also provided a rationale for the project AND a link to github. Why is it good form to just wade into a comment thread and give unconstructive criticism in this circumstance? Why not just quietly open a github issue?

<comment><USER26> Fair point - I was just making an observation really.

</comment></comment></comment><comment><USER28> A lovely little game with no instructions. Seems to be working out a bit better for you than it did for me ([http://luciangames.com/oware](http://luciangames.com/oware)).

<comment><USER29> big difference in presentation: on his game page I get to play immediately, on the page you linked I just get some static screen and links to buy

<comment><USER28> That's fair. It's a Unity game. I need to update that page to reflect that it's been removed from iOS (not willing to keep paying Apple), and it's free everywhere else.

I decided it was more valuable as a portfolio piece than as product with abysmal sales (couldn't afford to market it; not sure if it would have helped anyway), so I made it free.

You can play it with the Unity web plugin (I know) here: [http://luciangames.itch.io/oware](http://luciangames.itch.io/oware).

I only posted it here because it's a game with no text whatsoever, and I found that to be a really interesting design constraint. But maybe I'm the only one.

</comment></comment></comment><comment><USER30> This game is addictive, would be pretty cool if you went head to head with a random person and you both were trying to get the ball into your own box. great work!

</comment><comment><USER31> Works great on my iPhone, which is a surprise. Well done!

</comment><comment> enahs-sf it's a good thing everyone will be at burning man this weekend so i can get to higher levels before they do :)

</comment><comment><USER32> Do I need to be on LSD to enjoy this? :)

</comment><comment><USER33> very fun game. thanks for sharing. I like when it gets caught on the line and bounces back and forth

</comment><comment><USER34> Fun! What about a limit of N lines, e.g. oldest removed first (maybe color- coded by age?)?

</comment><comment><USER35> I love it! Interestingly enough though, the ball goes through line intersections.

</comment><comment><USER36> Very fun :-) thank you

</comment><comment><USER37> really great. so simple but immediately entertaining.

</comment><comment><USER38> Surprisingly fun :)

</comment><comment><USER39> this game is my perdition!! hahhaha</comment>


Verizon's giving $1M to world-changing startups in education, health, and more - <AUTHOR> http://www.tryary.com/news/1257/verizon-s-giving-1m-to-world-ch

<comment><USER2> Why won't Verizon spend money to spread out affordable FIOS service?</comment>


Python Launcher For The Win(dows) - <AUTHOR> https://www.barenakedcoder.com/blog/2020/03/python-launcher-for-the-windows/ <comment><AUTHOR> Running Python on Windows? Here's how to use Python Launcher for Windows to run multiple Python versions installed on one Windows machine. Including how to create virtual environments for different Python versions.

[https://www.barenakedcoder.com/blog/2020/03/python- launcher-...](https://www.barenakedcoder.com/blog/2020/03/python-launcher-for- the-windows/)</comment>


Ask HN: Virtual Administrative Assistant Referrals? - <AUTHOR>

Can anybody refer a good Virtual Admin that they've worked with? <comment><USER2> You can explore using craigslist.org to help you find a VA from Philippines, I found mine this way. You can get it much cheaper this way. Mine is around $2.5/hr

Or you can try sites like Elance, Guru, etc. But the VAs there starts from $3.5/hr.

</comment><comment><USER3> I use TimeSvr.com - great experience for the past year and a half or so.</comment>


Show HN: Coerce – Actor runtime for Rust using async/await and tokio channels - <AUTHOR> https://github.com/LeonHartley/Coerce-rs/ <comment><USER2> I'm always excited to see people experimenting with different things.

I wonder if the author could comment on how the goals of this project might differ from those of Actix?

Many people are still new to async/await; did you consider add a runtime/executor in your readme example? I didn't see the creation of a Runtime to drive the futures, that might be a nice thing to show.

<comment><AUTHOR> Hi mate,

The goal is to eventually have actors spread across multiple servers with automatic load balancing etc. I'm currently working on remote actors, with the goal for the API to be exactly the same whether you're talking to a local actor or a remote actor - it shouldn't matter to the user!

The runtime is just Tokio's runtime, actors are just tasks awaiting on messages (and handling them) from their Receiver!

Cheers!

<comment><USER2> Ah. Cool. What are your plans around data serialization and compatibility of different nodes during version upgrade?

And thanks for the answer!

<comment><AUTHOR> Regarding data serialization, I'm currently using serde_json, however that's just because it's easy to work with for development/testing purposes though I do love the idea of using protobufs!

Node compatibility and I guess distribution overall are problems I'm extremely looking forward to tackling! :)

<comment><USER3> Not sure on rust compatibility, but have you considered Cap'n Proto? [https://capnproto.org/](https://capnproto.org/)

<comment><USER4> Cap'n Proto has good a good Rust library, but it's overall language support versus alternative formats is somewhat lacking, unfortunately.

That said, Cap'n Proto has a substantially better design (both in theory and implementation) than any of the alternatives IMO, so it's worth using anyway if your language supports it well. And especially so if you're using it "internally", so other language clients aren't as big of a deal.

</comment></comment></comment></comment></comment></comment><comment><USER5> Worth to mention that Bastion has been developed a lot and it has its own design(in simple terms SMP based executor) to leverage asynchronous programming (with fault-tolerant manner). It isn't dependent on any runtime. You can mix and use any runtime with it and supplies hierarchical reduction based concurrency.

We proudly take Erlang's runtime model and implemented it in Rust. Moreover, we are currently working on distributed carrier protocol to make Bastion form a cluster, exchange data and recover from partial failures in distributed workloads too.

Local failures are recovered and we have built-in lifecycle management.

Maybe after these words you might want to take a look: [https://github.com/bastion-rs/bastion](https://github.com/bastion-rs/bastion)

You can write a fully fault-tolerant program with our macro mechanisms too: [https://github.com/bastion-rs/fort](https://github.com/bastion-rs/fort)

Here our distributed protocol repository: [https://github.com/bastion- rs/artillery](https://github.com/bastion-rs/artillery)

And our landing page: [https://bastion.rs/](https://bastion.rs/)

<comment><USER6> I'm not familiar with this family of technology, so forgive the dumb question:

But.. what is this?

I read the landing page and browsed a couple examples and I have no clue what I would use it for.

Would it be a pile of distributed workers handling jobs? Sort of like pushing a job into a job queue and having a bunch of workers consume jobs?

If that's the case, what are some reasons I might choose this Bastion model over a more traditional JobQueue <-> Worker model?

Thanks to any replies. I feel I should be interested, but I'm confused :)

<comment><USER5> As landing page states it is a runtime supplies actor-model like concurrency. If you are familiar with Erlang. Bastion is the reflection of the Erlang runtime in Rust. Far beyond an actor system implementation. It is a complete system with full asynchronous communication.

"...It supplies actor-model-like concurrency with a lightweight process implementation and utilizes all of the system resources efficiently guaranteeing of at-most-once message delivery."

It might be a single process, pile of workers, a bunch of http servers dispatching requests, various middleware layers connected with asynchronous boundaries. With all these built on top of crash and fault recovery.

For more information what it provides please take a look to my latest presentation at Rust Berlin: [https://slides.com/vertexclique/crash-course- with-bastion#/](https://slides.com/vertexclique/crash-course-with-bastion#/)

</comment></comment></comment><comment><USER7> Actors are explained here:

[https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3418003](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3418003)

[https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3459566](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3459566)

</comment><comment><USER8> This is pretty cool. We ended up building our own version of something like this internally last year, but I could see us tossing our code in favour of this.

The big advantage to writing code this way is that you just don't need to write these actors thread-safe. They will only ever handle a single message at a time. For an async system it's really fast to get something up and running.

</comment><comment><USER9> Nice. I tried building an actor library in rust, using proc macros. It ended up being super annoying to deal with generic actors.

Maybe I'll just write a proc macro over this lib instead.

* [https://github.com/insanitybit/derive_aktor](https://github.com/insanitybit/derive_aktor)

edit: Is this not on crates-io?

<comment><AUTHOR> [https://crates.io/crates/coerce-rt](https://crates.io/crates/coerce-rt) :)

<comment><USER9> Thanks.

</comment></comment></comment><comment><USER10> Read through the code just now.Thanks for the small but powerful project,I have tried to make something similar, but failed. The lib is very close to what I want to do actor-based programming in Rust. It would be great if actor can send message to itself.

</comment><comment><USER11> Isn't async-std interface the future of async at this point?

It seems that there's still a huge split inside the community between async- std and tokio interfaces that should be resolved ASAP.

Is there some working group to help standardizing the interfaces and upgrade tokio based apps to the standard?

<comment><USER12> The position of the async-std project is that people should use _futures-rs_ as the integration point and avoid integrating into tokio or async-std if possible. (both are IO optimised)

Especially for things like an actor system, I would recommend to not use either, but instead spawn a dedicated number of threads handling the actors. This allows you to be specifically optimised to the problem. bastion is a great example for that.

async-std ships a second library called "async-task", which implements just the task/future allocation component and allows you to quickly implement your own runtime.

Full disclosure: I'm one of async-std's maintainers.

<comment><USER11> I understand this, but it still doesn't answer the main point: are you working together with tokio maintainers to move to futures-rs as soon as possible and even extend the interface of futures-rs more if needed?

In my view the separate interfaces increase the long term damage that new libraries are creating every day, and it should be higher priority to resolve it together before implementing new features in either of the two libraries (async-std and tokio).

<comment><USER12> We don't maintain futures-rs. But for the reasons you outline above (stability), our interface is also effectively done.

The choice of not using all of futures for their interface is outspoken the strategy of tokio. We have encouraged them to prefer the futures layers, but we don't see the work happening.

So, to answer your question: we are not working with them, the place of collaboration is futures-rs.

</comment></comment></comment></comment><comment><USER13> Cool. And good thing you open sourced it now, before you built failover strategies (e.g. supervision) — you still have time to change the name.

<comment><USER14> Coerce is often misused to imply encouragement or persuasion - but it specifically means to engage the efforts of others through violence or threat of violence. It's an ugly word.

</comment></comment><comment><USER15> Ok, for the uninitiated (i m still learning rust) why do we have this split? Thank you!

<comment><USER16> Which split are you talking about?

<comment><USER17> I'm guessing async-std and tokio.</comment></comment></comment>


Bitcoin Developers Attempt To Kill Open Source Project, Sends DMCA To GitHub - <AUTHOR> http://solidcointalk.org/topic/510-bitcoin-developers-files-several-dmca-takedowns-against-solidcoin-over-misplaced-license-file/

<comment><USER2> Bitcoin is mainly continuing at this point only because of the large community behind it, as there wasn't much credibility to begin with. Doing things like this does nothing but take that community further from where it wants to be. It was an interesting concept, and still is, but that is all it will ever amount to if this continues.

</comment><comment><USER3> I don't see how this helps the Bitcoin project at all, trying to shut down projects because a text file wasn't included? And with no prior contact before that? Seems like Bitcoin can't wait until SOPA is enacted to give them even more power against projects they don't like.

<comment><USER4> Where do you get no prior contact from?

The fact that SolidCoin had stripped the copyright notices from the fails and were fraudulently claiming to have rewritten everything (as part of their process of closing access to Solidcoin and putting it under a restrictive license) was a popular discussion subject on the AltChains forum and had come up multiple times.

They also apparently violate the Berkley DB license.

<comment><USER3> Did you read the link?

"On our side, we apologize for misplacing the MIT license that Bitcoin uses. A friendly reminder would all have been necessary."

They say a friendly reminder would have been enough, which implies they didn't get any notice except a DMCA take down. If SOPA was enabled right now they could have gone even further and got domain names confiscated for offenses as slight at this, a missing license.txt . It's inappropriate response from the Bitcoin developers.

<comment><USER4> And you believe it? Why? Google for solidcoin copyright. You can see the posts on bitcoin talk _months ago_ talking about this.

Looking for myself, it appears that they still haven't fixed the copyright notices. The file cited on the github page still has the mentioned code with nothing but a copyright notice by solidcoin.

And if there is no issue they could simply file a DMCA counternotice and get everything put back up.

<comment><USER5> I think they have, but it takes something like a week? Also, there's an open question as to whether Luke Jr's modification was even substantial enough to claim copyright.

(For what it's worth, the same guy that did this is also running a 51% denial of service attack against my own pet Bitcoin alternative using the Bitcoin mining pool he runs. The other Bitcoin developer mentioned in that forum post - gmaxwell - is an op on the IRC channel for the pool and has been trying to stop me countering Luke's attempts to mislead people into thinking his pool wasn't involved in various places.)

<comment><USER6> DiabloMiner author and Bitcoin forum mod here.

makomk, enough with the FUD, eh? gmaxwell is not protecting LukeJr, nor has LukeJr done anything worth throwing a fit over.

This is offtopic for HN, take it elsewhere.

</comment></comment></comment></comment></comment></comment><comment><USER7> This is a non-story posted by the people who infringed and ended up getting DMCA'ed. The mods are encouraged to downvote or delete this. Knife fights don't belong on HN.</comment>


Apple Wanted to Use Qualcomm Chips for 2018 iPhones, Qualcomm Wouldn't Sell Them - <AUTHOR> https://www.macrumors.com/2019/01/14/apple-qualcomm-chips-2018-iphones/ <comment><USER2> _" Under the terms of that deal, though, Apple had to agree to a "marketing incentives agreement" to speak out against the WiMax standard that was popular at that time."_

Christ, what a bunch of assholes.

<comment><USER3> I was just about to comment on this line. It's disgusting what sort of crud gets into contracts when the market is so screwed up.

<comment><USER2> I'm just pissed that WiMax didn't get a fair shake thanks to Qualcomm's shenanigans.</comment></comment></comment>


Ask HN: What do you wish you knew about UI/UX design? - <AUTHOR> I'm a UI/UX designer interested in writing about design. I've written about the principles of iOS design, a case study on how I designed an iPhone app, etc., in my blog (http://radesign.in/blog/).<p>Instead of writing what I think is useful I want to write what the audience finds useful. So, what about UI/UX design you wish you knew? What would help you? What do you find interesting? What would you like to know? <comment><USER2> 1\. Color Theory. How to decide which colors to be used for particular type of project/audience?

2\. Typography. Which types of fonts to use for given situation and that works on all windows/mac/linux/android/ios? Categories of fonts and where to find free fonts/web-fonts.

3\. Layouts. What different types of layouts are possible and how to decide which one to use?

4\. Responsive Design Techniques.

5\. CSS3 art. How can we use CSS3 to create things like Text Logos, UI elements?

6\. Design Case Studies. Pick up a good well known design and redesign it explaining the design decisions taken in the process.

<comment><AUTHOR> Thanks for the list :) I'll see if I can address them all

<comment><USER2> Focus more on 2, 3 and 4. All my designs end up having almost similar fonts and layouts. They look good but not different. Most of my(and everyone else's) designs end up having header-content-footer layout or sidebar-content layout but there are other layout patterns that can be used :

\- <http://www.themealings.com.au/>

\- <http://landor.com/>

\- Metro UI Look

\- <http://captaindash.com/>

\- <http://www.thebullittagency.com/#!/home/>

\- <http://www.360langstrasse.sf.tv/page/>

\- <http://www.wingcheng.com/>

<comment><USER3> thebullitagency.com is a _seriously annoying_ website. Not to mention a total hog of bandwidth for no particularly good reason.

</comment></comment></comment></comment><comment><USER4> Typography. I'm still not sure which types of fonts to use for different situations (titles, paragraphs, attention-grabbing).

<comment><AUTHOR> Thanks for the input

</comment></comment><comment><USER5> My #1 want is some kind of process or hints for taking a screen that is crowded with controls and options and simplifying it. Often I am faced with this and just don't know where to begin.

<comment><USER6> do it the other way around: start with a blank screen and start adding the controls from your crowded screen, thinking for every one of them if you really need it and throwing it away if not. this process also makes sure you are exhaustive, you consider each element and don't forget weird controlls in weird places (of course, the ideal would be to start from a blank screen and a vision of what the user needs to see and do - but lacking such a vision a "cluttered mess" --> filtering --> "blank sheet UI" process helps a lot)

EDIT: + do it the pen(cil) and paper way, and implement a mockup UI only after, it really clears your mind from the "this should be here because that event expects..." crap you end up thinking about when the interface is implemented the "lipstick on a pig" way - for web, think tangled mess of HTML & Javascript DOM manipulation + unimaginable PHP horrors on the server site

</comment></comment><comment><USER7> I don't see why so many people think of typography and color as central to UX/UI. I believe these are just as small part of the puzzle. Great interfaces are not just nice to look at - they communicate well. For me, great UX/UI is about the use of clear, consistent visual metaphors. It's about choosing the right words in your navigation, picking the best controls and form elements, and about removing anything that distracts or confuses the user. It's also about listening to your customers and understanding how they use your software.

<comment><USER8> I don't know about other coders but as one myself, I find the visual metaphors, wording and control selection parts much less daunting than the other stuff. They're just as important (maybe more so) but I find them easier to tackle because the choices feel less subjective and easier to reason about.

On the other hand, choosing colours, typography and designing the general "chrome" for a site is a nightmare. It's so subjective and non-intuitive (to me at least), yet has a huge effect on making or breaking the overall design. It's maddening!

</comment></comment><comment><USER9> I would like to hear about the larger process:

      * Evaluating an interfaces usability quantitatively.
      * The ROI profile for good design. What's the sweet spot, and when do you start yack shaving?
      * How do 'cool looking', 'compelling' and 'usable' relate to value.
      * Which of the above fall are squarely in the domain of UI designer?
      * What does a UI team look like? What skills? How are decisions made?
      * From a Designers perspective, how should a software product begin its life?

</comment><comment><USER10> I'd like to learn more about two things:

1\. Designing and prototyping in the browser -- how to do it as quickly as possible and get rid of the distraction of details (I always find details difficult to ignore when trying to do quick mockups in the browser, hence why I resort to pen and paper)

2\. Case studies of user research activities that have led to particular design decisions -- what are the first steps I should take in order to create an interface that is specifically targeted towards a certain user group or demographic

</comment><comment><USER11> I find the correlation between UI/UX and conversation rate very interesting. Based on my experience these blog posts are usually very popular. For example : where to locate call to action buttons, location of the title, number of screenshots, etc. I made several tests on my web site, changing the design and location of the social networks buttons. After all the changes I increased the click rate from 2% to 8%. I couldn't find any good posts or references about this topic.

</comment><comment><USER8> Typography, colour and techniques for visual priority (i.e. how to guide a user's attention to different sections within a page) are all things I struggle with.

I also wish a photoshop or illustrator "cook book for coders" existed which contained just enough recipes to learn the essential techniques needed to quickly mockup and experiment with how a page might look.

<comment><USER12> _Typography, colour and techniques for visual priority (i.e. how to guide a user's attention to different sections within a page) are all things I struggle with._

I point people towards Robin Williams' "The non-designers design book" for all of these. It's not about the web - it's about some graphic design basics like contrast, balance, etc. - but they apply.

 _I also wish a photoshop or illustrator "cook book for coders" existed which contained just enough recipes to learn the essential techniques needed to quickly mockup and experiment with how a page might look._

If you want to do quick mock ups and experiments then Photoshop is not the tool you want. What you want is pen, paper and post it notes. Learn to do paper prototyping. Todd Zaki-Warfel's book "Prototyping" has a good section on it (<http://rosenfeldmedia.com/books/prototyping/>) and Paper Prototyping by Carolyn Snyder is the definitive book on the topic (<http://www.paperprototyping.com/>).

<comment><USER8> Thanks very much for the Robin Williams tip.

Re: prototyping

I use Balsamiq a lot and am comfortable in it (and I usually play with pen and paper before touching Balsamiq) but sometimes I'd like to produce a mock up that looks a lot closer to reality and I just wish I had enough command of the basics to be able to do this in photoshop or illustrator rather than cobbling together some html and css (which is what I do now).

Edit: to expand on the cook book idea, I'm thinking of recipes along the lines of:

\- This is how you can quickly draw a button (and here's how to give it a gradient or a shadow)

\- This is how you setup your canvas as a grid

\- This is how you do layering (so you can try different headers, footers etc.)

\- This is how you embed an image and clip it (and here are some tips on choosing images that are easy to work with and fit in to a design)

\- This is how you make a repeating background

\- This is how you blend one colour in to another

\- This is how you do transparency

\- These are some common gotchas to look out for

\- These are some good practices you should follow (e.g. do it _this_ way so that if you want to change all the buttons to a different colour you can do so with one click)

\- This is a run down of some common layouts and what sort of content they're suited to

\- Here are some solid online resources for fonts, background patterns, stock photography, icons, showcases of good design, forums/sites where real designers hang out

Basically, enough information and resources in a single reference book so a non designer can fire up photoshop or illustrator and be able to end up with a PNG file that's somewhere between a wire frame and the finished version you'll get when a real designer has worked their magic on it.

<comment><USER13> Fireworks is a good option, with pages and hotspots with browser export. Easy to create mid-high fi mockups, much faster than in photoshop for prototyping and user testing. Faster to learn also.

Here's a start to your cookbook: [http://fireworks.smashingmagazine.com/2012/07/03/interactive...](http://fireworks.smashingmagazine.com/2012/07/03/interactive- prototypes-timesavers-adobe-fireworks/)

</comment></comment></comment></comment><comment><USER14> Metaphors and complexity. How do you take an innovative _new_ idea and make it instantly relatable and familiar to people? How has it been done in the past?

I'm struggling with page/group/stream/profile designs and don't know how to make it different than everyone else while still keeping it intuitive and fun.

<comment><USER2> Is it necessary to make it different unless the changes made improves its user experience? If a particular design pattern works and one is unable to improve its usability isn't it better to not change it? Slight change in colors, typography etc may give it a different look.

<comment><USER14> The main difference is that it's page/group-centric rather than user-centric like most of the sites I would relate it to. Maybe it will just take a lot of iteration to find the right design.

</comment></comment></comment><comment><USER15> Color theory, layouts and a better sense of design as a whole. Actually because of this very question I bought:

      * The Non-designer's Web Book
      * Designing the Obvious: A Common Sense Approach to Web & Mobile Application Design (Voices That Matter)

I'll read those and tell ;)

</comment><comment><USER16> How to convince designers that just because it looks nice in photoshop doesn't mean that the people using it will find it "usable".

But seriously. This probably exists somewhere: What are the conventions that have emerged in web design and mobile design, and why have these become conventions?

</comment><comment><USER17> How to use background photos well.

What makes a good photo choice? What sort of text/font/color goes well on top of it?

</comment><comment><USER18> I'm extremely interested in UI/UX workflows, especially compared between differently sized teams.

A documentation of user-centric design, from the sketch/ideation phase all the way through to a product postmortem would be absolutely phenomenal.

<comment><AUTHOR> Thanks. You might be interested in the series of design case studies, I've started on my blog. Here's the first post <http://radesign.in/how-i-designed- zsnuz-for-iphone/>

</comment></comment><comment><USER19> People don't read. Sounds simple, but I find it one of the greatest challenges.

</comment><comment><USER20> A little off-topic, but I'd love to see more of these Ask HN posts. As a graphic designer, I cant say how great it would be if coders understood UI/UX as much as I did :)

</comment><comment><USER21> Oddly specific, I know, but since you design for iOS: should I be reversing the shadow direction on the text of buttons when they are pressed?

<comment><AUTHOR> Not necessarily. If the text is embossed on a button, when you press the button only the button gets pressed but not the embossed text. You show the button pressed state by darkening the button a little (not necessarily the text) and maybe also by reducing the size the button's shadow. Hope it helps :)

</comment></comment><comment><USER22> dirty tricks. One cannot become a designer without a _lot_ of effort, but one can learn some tricks.

E.g. making them up

* "don't try to do a complex logo/header design just use one big custom font with distinct personality"

* "use stuff from subtlepatterns for the page background"

* "use a pattern repository such as YUI's for standard interactions instead of reinventing basic UX"

etc

<comment><USER12> Yes - that sort of thing would be useful. To some extent this is the sort of thing bootstrap like frameworks are giving people. A default visual design that, well, doesn't suck ;-)

A few other things that I suggest to folk who don't have design skills in- house:

* Pick a single font face and 3 sizes and use throughout

* Pick a palette of five colours (use kuler or something) and use throughout

* Go mobile-first (not because of the 'mobile' - but because of the constraints - it forces a focus on core features & usability)

The problem is that there's a fine line between giving people some rough rules of thumb to help them - and people then taking this sort of advice and seeing it as "best practice" and applying it inappropriately.

<comment><USER23> Just a note here, a single font face is boring. I prefer picking a serif and a sans serif font, using one for the headings and one for content text.

<comment><USER12> Boring? Depends how you use it. You can do a lot with weight, size, colour, etc.

Going for a serif/sans-serif pairing is a classic choice - and can also work well. But it can also lead to more opportunities to get things "wrong".

Constraints are useful in design.

Also in most UX situations boring is _way_ better than bad ;-)

</comment></comment></comment></comment><comment><USER24> I'd like to see an article that explains the difference between UI design and UX design, with examples.

<comment><USER12> _I'd like to see an article that explains the difference between UI design and UX design, with examples._

The problem there is that if you ask three different designers you'll get at least four different answers ;-)

UX is a relatively new term. Coined by Don Norman on 1993 for his role at Apple it's morphed and tweaked in the intervening time and still means different things to different folk. The Elements of UX diagram from Jesse James Garrett is as good a definition as any <http://www.jjg.net/elements/pdf/elements.pdf>.

UI Design used to be generally read something as a pretty broad domain - similar to UX - see <http://en.wikipedia.org/wiki/User_interface_design> for example. However, I sometimes see it used now to refer to somebody with a narrower speciality of doing the visual design work on interfaces that have been designed by others.

The communities of practice are still rapidly evolving. Hard and fast definitions don't really apply.

</comment></comment><comment><USER25> I wish I didn't have to know anything about it, cuz life's complicated enough as it is!

</comment><comment><USER26> Photoshop mechanics. How to take an idea and get it fleshed out in PSD

<comment><AUTHOR> For a behind-the-scenes look at how an idea of iOS app got fleshed out into an app try my case study, <http://radesign.in/how-i-designed-zsnuz-for-iphone/> It talks about the design process and principles.

</comment></comment><comment><USER27> I would say the thing I struggle most with is also Typography.

<comment><USER28> That might not be a bad thing.

It's very rare that I see a website using custom fonts that are actually easy to read. They bloat pages, are non-standard, can be hard on the eyes. Sometimes it's so bad I go into Chrome's developer view and just disable them entirely so everything defaults to Black Arial 14px.

<comment><AUTHOR> Valid point. I find most designers are using custom fonts that are too thin to be readable. They look clean but not readable. But Arial is not a readable font either. Next time try defaulting to Verdana.

<comment><USER28> Sorry that's what I meant to say, Verdana for paragraphs, Arial for headers.

</comment></comment></comment></comment><comment><USER29> Framing elements on a page. I struggle with this a lot.

<comment><AUTHOR> Can you please elaborate a little on what you mean by framing?

</comment></comment><comment><USER30> For those interested in typography, while I found blog posts helpful in teaching myself, if you really want to understand, I recommend reading one of the canonical texts depending on your particular interest. Typography is a deep field with a lot to know before you can really know what you're doing.

The Elements of Typographical Style is a beautiful book and an elegant, literary introduction and guide: [http://www.amazon.com/gp/product/0881792063/ref=as_li_qf_sp_...](http://www.amazon.com/gp/product/0881792063/ref=as_li_qf_sp_asin_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0881792063&linkCode=as2&tag=morgasuthe-20)

Thinking with Type is full of contemporary examples to give you new ideas: [http://www.amazon.com/gp/product/1568989695/ref=as_li_qf_sp_...](http://www.amazon.com/gp/product/1568989695/ref=as_li_qf_sp_asin_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1568989695&linkCode=as2&tag=morgasuthe-20)

Ruder's Typographie is the book that established modern typography and is the de fact guide to modernist typography: [http://www.amazon.com/gp/product/3721200438/ref=as_li_qf_sp_...](http://www.amazon.com/gp/product/3721200438/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=3721200438&linkCode=as2&tag=morgasuthe-20)

As an introduction to typography, I also recommend watching Helvetica: [http://www.amazon.com/gp/product/B002RIOGI0/ref=as_li_qf_sp_...](http://www.amazon.com/gp/product/B002RIOGI0/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=B002RIOGI0&linkCode=as2&tag=morgasuthe-20) – it will give you a personal perspective on different philosophies of choice of type-face

For that matter, the same goes for color theory.

Here's a nice introduction to color in general from the Adobe website: [http://www.adobe.com/products/adobemag/archive/pdfs/9611febf...](http://www.adobe.com/products/adobemag/archive/pdfs/9611febf.pdf)

The Wikipedia entry is worth reading: <http://en.wikipedia.org/wiki/Color>

Kandinsky's Concerning the Spiritual in Art is a beautiful manifesto on art, but contains a very interesting theory of color: [http://www.amazon.com/gp/product/1619491532/ref=as_li_qf_sp_...](http://www.amazon.com/gp/product/1619491532/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1619491532&linkCode=as2&tag=morgasuthe-20)

Itten's The Elements of Color is the classic text on color: [http://www.amazon.com/gp/product/0471289299/ref=as_li_qf_sp_...](http://www.amazon.com/gp/product/0471289299/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0471289299&linkCode=as2&tag=morgasuthe-20)

Albers' Interaction of Color will teach you that colors are no absolute reference ponts – they interact with each other to create all sorts of effects (this text pairs well with the Kandinsky): [http://www.amazon.com/gp/product/0300018460/ref=as_li_qf_sp_...](http://www.amazon.com/gp/product/0300018460/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0300018460&linkCode=as2&tag=morgasuthe-20)

To get really deep into color, check out the IESNA handbook: <http://www.ies.org/handbook/>

All this is not to obviate OP's impetus to write posts on these topics. Blog posts are crucial as introductions and I find tend to work better as references than books, which tend to be overwhelming and ignored in this digital age. But if you want to go deeper, these are my favorite references after moderately exhaustive research.

</comment><comment><USER31> Take a look at this <http://www.webtypography.net/>

That's gonna get you started in typography.

</comment><comment><USER32> Dell just announced a 13.3" laptop with developers in mind:

<http://www.dell.com/us/soho/p/xps-13-linux/pd.aspx>

This looks like a really great machine.

<comment><USER32> oops, this was supposed to be in reply to the ask HN developer laptop thread</comment></comment>


Show HN: My Meteor App - Danceynous: Synchronized Youtube Dance Party - <AUTHOR> http://dancepartydemo.meteor.com/cc5744d9-326c-4ccb-86b6-7b5123c1d3d9

<comment><USER2> If you don't like the music choices, just create your own room by going to the homepage: <http://dancepartydemo.meteor.com/>

</comment><comment><USER3> coool

<comment><USER2> Thanks! It was pretty easy to make with Meteor and the Youtube API.

<comment><AUTHOR> yep, i talk about it in my blog here: [http://vparikh.com/2012/04/19/space- age-web-development-with...](http://vparikh.com/2012/04/19/space-age-web- development-with-meteor/)</comment></comment></comment>


Ask HN: Which tech blogs or publications do you follow? - <AUTHOR> I am looking for interesting tech content and would appreciate some recommendations. <comment><USER2> Search HN for similar questions

</comment><comment><USER3> IEEE Spectrum: [https://spectrum.ieee.org](https://spectrum.ieee.org)

<comment><USER4> I second IEEE Spectrum. Also Slashdot: [https://slashdot.org](https://slashdot.org)

</comment></comment><comment><USER5> Import AI: [https://jack-clark.net/;](https://jack-clark.net/;) TechCrunch; MacRumors

</comment><comment><USER6> My favourites are: \- [https://blog.acolyer.org/](https://blog.acolyer.org/) \- [http://sysadvent.blogspot.com/](http://sysadvent.blogspot.com/)

</comment><comment><USER7> Might not be exactly what you're looking for, but I love TechLoaf (it's a satirical tech newsletter): [https://techloaf.io](https://techloaf.io)

</comment><comment><USER8> [http://chneukirchen.org/trivium](http://chneukirchen.org/trivium)

</comment><comment><USER9> 101node.io</comment>


Local Routing in a new Indefinitely Scalable Architecture [pdf] - <AUTHOR> https://www.cs.unm.edu/~ackley/papers/paper_tsmall1_11_24.pdf <comment><USER2> I'll always upvote Dave Ackley. His vision for computing is so audacious it seems unbelievable. Global consistency? Don't need it! Determinism? An illusory safety blanket for wimps and suckers! Sure, everyone talks a big game about eventual consistency, but who's signing up to use an eventually consistent CPU? Dave freakin' Ackley, that's who.

And the whole thing would sound like blue-sky bullshit except he's out there actually building it. I think the best place to start is this demo of a network switch made out of cells: [https://www.youtube.com/watch?v=I4flQ8XdvJM&t=11m23s](https://www.youtube.com/watch?v=I4flQ8XdvJM&t=11m23s) (and then watch the rest of the video if you liked that)

His more recent videos are weekly updates on a "T2 Tile" prototype made out of 3d printed parts, custom PCBs, and like a hundred BeagleBones: [https://www.youtube.com/c/TheT2TileProject](https://www.youtube.com/c/TheT2TileProject)

Also, all his code is on GitHub: [https://github.com/DaveAckley/](https://github.com/DaveAckley/)

<comment><USER3> You might be interested in The Agoric Papers [1]

[1] [https://e-drexler.com/d/09/00/AgoricsPapers/agoricpapers.htm...](https://e-drexler.com/d/09/00/AgoricsPapers/agoricpapers.html)</comment></comment>


Show HN: Deepstream.io – A scalable server for realtime webapps - <AUTHOR> http://deepstream.io/

<comment><USER2> I looked at the source code and it seems that it mostly glues socket.io with Redis/Memcached. What did I miss? How exactly is it more scalable than anything else?

The front-page looks really cool.

<comment><AUTHOR> It goes a bit beyond that :-). Deepstream scales horizontally by allowing to connect multiple deepstream nodes to a message bus (e.g. AMQP, Redis, Kafka etc...). The nodes multiplex messages within each other and sync their client's state.

</comment></comment><comment><USER3> I'm very excited about this! Without reading too much into this, is it safe to say it's like a self-hosted firebase?

"Due to the way deepstream structures its data (JSON blobs, identified by a primary key) it is recommendable to use an Object oriented or schema-less database (e.g. MongoDB or RethinkDB), rather than a relational database like MySQL."

Is there a way to run complex queries against the data or it designed to abstract that all away from you to be as fast as possible?

<comment><USER4> Similarly (without reading too much about it) can I use InfluxDb instead of RethinkDb? (Disclaimer: I'm a RethinkDB fanboy, but I'd like to know my options.)

<comment><USER5> InfluxDB is a time series database (think reporting/analysis of collected system metrics). It's not intended as a general purpose database.

<comment><USER4> No, its definitely not. However, I can think of a few instances where I might use it along with Deepstream.

</comment></comment></comment></comment><comment><USER6> Does anyone know with what these style of websites are made with? there must be hundreds of .io sites here on HN that look and feel the same

I am not a designer so do not know what this latest web design practice is called

<comment><USER7> I've used the Startup Framework Generator[1] for building this style of website. Highly recommended.

[1] [http://designmodo.com/generator/](http://designmodo.com/generator/)

<comment><USER8> Oh wow, this is great. Thanks for sharing!

</comment></comment></comment><comment><USER9> Very necessary. A few questions:

\- How big can records be? Are they stored as a single object in the persistence layer or using something like materialized paths. The firebase data model is one huge JSON structure, so this looks different.

\- How are conflicts handled? Last writer on server wins or last writer anywhere? Do you ensure eventual consistency of all the clients even when you apply optimistic writes on the client?

\- Can data be larger than the cache size? How is cache eviction handled?

<comment><AUTHOR> Thanks \- Records have no hard size limit - but are limited to the maximum size of your cache entry or database document. The tcp connection can send a single record update over multiple packets.

\- Records already have a version that's incremented with every change and also persisted as part of the record's meta-data. Currently deepstream uses a simple first-wins strategy and subsequent updates for the same version number get rejected. However configurable merge strategies are in planning as part of a "record-options" setting.

\- Currently data has to be explicitly deleted from the cache.

</comment></comment><comment><USER10> This looks similar to SC [http://socketcluster.io/](http://socketcluster.io/) \- But I guess SC doesn't take care of the storage layer - You can use your own database of choice.

</comment><comment><USER8> It's clear that you've designed something that gets people's attention (your animation on the homepage might be one of the best examples of real time apps I've ever seen), but based on the questions in this thread…people are looking for differentiation.

If I were you, I'd start by answering everyone's questions here. These are your potential users and leaving them hanging seems odd. The next step would be answering those questions on your site.

This is the kind of service that people are going to start using for a new project (rarely are people going to switch existing infrastructure to something brand new). But any new framework, language or platform requires investment and with developer related services and tools, people are going to research first. Help them do that research efficiently.

Good luck taking this to the next level!

<comment><AUTHOR> Thank you for your feedback. You're absolutely right, but I guess we've missed the window for Hackernews to an extend now. We're currently putting together a "how is deepstream different from ..." page and a general "about" section for the webpage which will be released shortly.

Again, thanks for your advice, much appreciated.

</comment></comment><comment><USER11> Wow, much needed, I'm downloading the samples right now to take a look.

(fyi: bad link at the bottom of this page [http://deepstream.io/tutorials/simple-app-using- react.html](http://deepstream.io/tutorials/simple-app-using-react.html) it links to the ko demo, not the react's)

<comment><AUTHOR> thanks :-). We're working on fixing it.

</comment></comment><comment><USER12> Very nice self-explaining landing page! Although the bulleted list webfont renders rather poorly in Win7 Chrome: [http://i.imgur.com/j0a0rAQ.png](http://i.imgur.com/j0a0rAQ.png)

<comment><AUTHOR> oh dear, we'll definitely have to have a look into that. Thanks for posting the screenshot :-)

<comment><USER13> Same in Win7 FF38

</comment></comment></comment><comment><USER14> This looks promising. Does this server architecture also has an embedded API framework which can utilized to create APIs by just specifying end-points? and is there any testing framework integrated for node.js applications?

</comment><comment><USER15> I believe the permissions example with Lisa in the tutorial has it's logic backwards -- or am I missing something?

[http://deepstream.io/tutorials/permissioning.html](http://deepstream.io/tutorials/permissioning.html)

</comment><comment><USER16> Link to client api is broken - [http://i.imgur.com/egcKVyv.jpg](http://i.imgur.com/egcKVyv.jpg)

(case insensitive file system on macos may be? :))

</comment><comment><USER17> This looks great! I am thinking of writing a Firebase compatible wrapper for this when I have free time. The main differences are in permissions and auth I guess.

<comment><AUTHOR> That'd be great :-)

</comment></comment><comment><USER18> Interesting. How does it differ from [https://getstream.io](https://getstream.io) ?

<comment><USER19> The GetStream server isn't open source, is it?

<comment><USER18> I believe they Open Sourced a significant part of it here - [https://github.com/tschellenbach/Stream- Framework](https://github.com/tschellenbach/Stream-Framework)

</comment></comment></comment><comment><USER20> Is there a documentation of transport protocol? i.e http sse, websocket? ...peeking the source code a little bit - tcp-socket?

<comment><AUTHOR> Deepstream is using a TcpPort to allow for connections from other Node- processes (and hopefully, going forward Java, C++ etc..) and engine.io for browser communication. Engine.io initially connects using long-polling http and upgrades to Websocket if available.

A (rudimentary) overview of the message structure can be found here: [http://deepstream.io/tutorials/message- structure.html](http://deepstream.io/tutorials/message-structure.html)

<comment><USER21> Why go through the trouble and reinvent the wheel and not use one of the available protocols and serialization methods?

</comment></comment></comment><comment><USER22> Very nice. I'd be curious to hear a bit on how this is different than what Meteor provides when using MongoDB. Thanks!

</comment><comment><USER23> What about offline first?</comment>


Facebook's '10 Year Challenge' Is Just a Harmless Meme, Right? - <AUTHOR> https://www.wired.com/story/facebook-10-year-meme-challenge/ <comment><USER2> it feels like FB would already have this data - perhaps an external entity will crawl the hashtag?</comment>