Hacker News new | past | comments | ask | show | jobs | submit | anotherangrydev's comments login

REST was either popularized or outright invented by Ruby?

What the f* are you on? Or were you born a few years ago and just worked with Ruby since then?

Really, how could somebody be so oblivious to this field in order to state stuff like that?


Could you point me to a major web framework that used REST before Rails 1.2 (2006)?

> What the f* are you on? Or were you born a few years ago and just worked with Ruby since then?

I've been using Ruby professionally for 10 years.


2006? Come ON!

How about the whole WSDL/SOAP services that appeared way before that? You're telling me that Rails was the one who came out with the modern REST ideas?

That's total tech illiteracy right there. Damn, you even had the nerve to defend that feeble argument.


WSDL/SOAP are not REST. I'm telling you that REST was popularized by Rails, because it was the first major web framework to use it. You've yet to refute that argument, but you do continue to be rude, so have a good one!


>WSDL/SOAP are not REST

Well if you define REST as "Web Apps developed with RoR" then I guess you're right, Rails is definiteley the pioneer of Rails development.

>You've yet to refute that argument

There was (at least) Tomcat deployed and quite popular, and yep, everything moved through REST interfaces. Even with that one and the huge success it had in the enterprise world, I wouldn't dare to say that the success of REST relies on Tomcat anyway.

REST hit it big with the www, www is REST's killer app. Those things are quite literally the first ones you should know when you start developing for the web.


The funny part is that technically Rails and Rails-inspired REST frameworks get it wrong. They're just exposing the server-side models via REST interface and the server-side models in turn expose the database's tables. That's REST by the books but not particularly useful unless all you're interested is exposing your database tables to the clients.

Automagic REST APIs may be easier to do with "RESTful" MVC frameworks but what you really want is a domain-oriented REST API. But I digress.


Here's a handy test to determine if two technological terms mean the same thing: are they used interchangeably? If I said to someone, "oh that looks like you need a SOAPful interface," would they assume that I meant RESTful? Probably not, since they're two different technologies. The move to REST was actually inspired by the perceived deficiencies in WSDL and SOAP.

> The funny part is that technically Rails and Rails-inspired REST frameworks get it wrong.

Well, that's a bit tangential to my original point. I wasn't claiming that you specifically liked the way it was implemented, just that Rails, and thus the Ruby community, was responsible for its popularity. Despite the length of this thread, neither of you has managed to debunk that claim with anything resembling evidence.

Find a reference to Tomcat using REST before 2007, and give us the link. I'd bet you can't, since Rails was the first major web framework to implement REST.

> REST hit it big with the www, www is REST's killer app.

Since REST was invented in 2000, and the web itself had been around for a bit before that, I fail to see how this could be true.


"The World Wide Web itself represents the largest implementation of a system conforming to the REST architectural style."

- https://en.wikipedia.org/wiki/Representational_state_transfe...

"The first edition of REST was developed between October 1994 and August 1995, primarily as a means for communicating Web concepts as we wrote the HTTP/1.0 specification and the initial HTTP/1.1 proposal. It was iteratively improved over the next five years and applied to various revisions and extensions of the Web protocol standards."

- Roy T, Fielding, Architectural Styles and the Design of Network-based Software Architectures, 2000

Most interesting is Roy's presentation at RailsConf Europe in 2007 (http://roy.gbiv.com/talks/200709_fielding_rest.pdf):

Use your brains!

- don’t design-by-buzzword

- don’t believe everything you read


Tell her that two wrongs never make a right.


For whatsoever a man soweth, that shall he also reap.


Even if it were a database of known murderers (or sex offenders , or whatever crime you consider to be the worst), it is still private information. So it's a shame that those 'hackers' got away with it.


I was impressed by the Time Travel.

If I delete a file through there, and "go back in time" would the files would still be there?


Yup. The time travel stuff is somewhat transparent and hard to talk about. If you think of the document as a .js file, than it is pretty easy to reason about what will happen. Things are just executed in order. The magic is that we don't have to re-execute a bunch of stuff every time just to get to your actual change.


> The time travel stuff is somewhat transparent and hard to talk about.

Wouldn't that mean it's opaque, since we can't see see into it?

PS. That's picky. This is a rad project and I love the time travel & the 'requiring packages automatically installing them' feature too.


Do you override 'require('fs')' or do you do some magic at the OS level ?


We use docker pretty extensively, and so between each code cell we can evaluate the layered filesystem docker provides for changes and save them.


Good, thanks.


Don't be so naive. Do you think you can just walk up to Mozilla and tell them: "Sup guys, just bundle this crap into your browser. Please."?


Mozilla claims that they don't get money for the integration, and I don't see a good reason why I shouldn't believe them. Pocket very likely doesn't have that much money lying around, compared to Mozillas budget.


That's makes it worse. Mozilla integrating Pocket into Firefox for free.


Really? Does it? "Mozilla bundles crapware for financial gain" vs "Mozilla bundling add-on it believes will benefit users".


its sounds a lot more like the situation was "Pocket was friends with some guys at mozilla, and they made up a bunch of bullshit about how it was a benefit to users to push their buddies project"


where did you get that impression?


"Mozilla bundles crapware for financial gain" v. "Mozilla bundles crapware without any financial incentive" is a more accurate comparison, and highlights that something is indeed wonky over in Mozillaland.


Pocket + Firefox is a pretty stanky integration. Very unpleasant to have it bundled in.


Maybe it's time for a standard bookmarking service API? It'd be nice to just be able to plug whatever service I want (if any) into any browser.


Greedy is better than stupid.


It is not valid. I found it amusing that it even went through.


The runtime is pretty awesome as well. I remember the work of people like Joa Ebert exploiting the platform and the language to the max, really cool stuff. The world is barely coming closer to what Flash was capable to do... 8 years ago.

IMO Apple killed Flash not because of the "battery, security, etc..." "issues", but because they didn't want their devices to depend so heavily on another company. It was business, and strangely, Adobe didn't even put on a fight. And they just spread FUD and all the developers that didn't know better went with it, but I agree with you, shitty flash developers will now just be shitty HTML developers and everything will be the same in another 5-6 years or so.


There is probably business strategy in that, but I remember flash on my mac to be terrible (100% cpu, draining battery like crazy). While the same version on windows was running perfectly.


Apple wouldn't give access for some hardware apis to Adobeso stuff that was being done on the graphics hardware in windows had to be done 100% software on Mac. Then Jobs complained that Flash was slow.


And its pretty much the same thing now.

Try WebGL on any Mac (Safari is the worst performer of them all btw). You will see a bit of lag, frame drops, CPUs at 100%, a lot heat and your battery will die in two hours max.

Open the same site on a Chrome/Windows machine (with comparable specs of course) and you don't see any of that trouble.

Why? Because Apple wants everything done "The Apple Way®©™" and other people just don't care so they just create a substandard implementation and call it a day. And it's only going to get worse now that they want to push Metal everywhere.


Does the spec explicitly tells about how to time tasks vs microtasks? I was under the impression that it was up to the implementation and not relevant.

To add something more, I would really like to see an example where this actually ruins a program execution.

Edit: And this is wrong because... ?


These questions are already answered in the post.

Yes, both microtask and task execution is specced by html. Using a task rather than a microtask costs performance by the time it takes to do other between-task things such as rendering. There was an opinion that promises were slow that was really only down to poor callback scheduling.


Ok, thanks. Haven't read the spec, that's why I was asking.

>However, the general consensus is that promises should be part of the microtask queue, and for good reason.

That's the only bit I found in the post regarding that. Didn't sound like 'it's in the spec' to me.

Regarding the example, (I'm gonna sound like the SO posters that I hate but) there are other appropiate places where you should hook up that callback. If the one you chose does not play well with Promises yet (because you want to access an object thats at the end of its lifetime and not guaranteed to exist), then ¯\_(ツ)_/¯.

I asked for an example where the program breaks because I thought that if you queue up things 'for later dispatch' you shouldn't be worriyng about the order where they dispatch. If you're actually worried, then chain them together with the classic callback stuff.

But, I'm not demeaning your post (I see you're the author), it was really good. The main issue is see is (as you stated in your comment) that Promises as microtasks would increase their performance. It is a shame, however, that we as developers are not able to queue microtasks directly (like when using setImmediate, process.nextTick) :(


The spec defines the execution of tasks vs microtasks tightly, the bit that's less clear is how ECMAScript promise jobs interact with microtasks - the consensus is they're in the same queue, but it isn't explicit.

I agree that we should have an API to queue microtasks, although as soon as promises use microtasks, Promise.resolve().then(func) becomes that API. Some promise polyfills also use mutation events to queue microtasks.


HR is never your friend. Aside from the job they're required to do, HR usually attracts people with despicable morals and class. They wont hesitate on lying to you, set you up on to something, threaten you, whatever it takes to get what they (personally) want. Stay clear of HR, that is true for 99% of jobs.


Aren't people with "despicable morals and class" in every profession? Some of us are actually in HR because we like thinking critically & creatively behind the scenes to make others successful. I totally get why that might not describe the HR teams you've encountered, but I don't think we can all be characterized with such a broad brush.


You're the 1%, then.

Honestly, I haven't met one decent guy in HR in a loooong time. Quite the contrary, I have plenty of bad experiences with HR that made me believe those things. I'll give you my favorite examples:

I once got fired because I told some bitch (she was really a bitch, and that's not just my opinion, the whole workplace thought of that) to mind her own business. I was on a break and reading a magazine when she came in and started lecturing me on to "why I'm not doing other stuff? why do I read those kinds of magazines? (It was a gossip magazine, but who cares it was what it was nearby) I'm a little old for that." Politely but firmly told her something like "This is my break. Fuck off, you can't tell me what to do on my break and I read whatever I want to". She left. Three months later got called to get fired, turns out she was secretly raising reports about me that were small stuff (and completely fake) like "... was asked to do X and refused", "... yelled at a client", "... reads magazines while at work (of course)". When I had like 10 or so of them she fired me because of a "bad overall attitude" and those were her (fake) proofs. That's the kind of shit HR LOVES to do man.

Another one. I once knew (but not as in "a friend told me", I saw it) of a place where all the candidates that got hired were because they were laying down with the girl that ran the interviews. Later when they got the job, they started to get fired when that girl found them not sexually appealing anymore. Yup.

I think there has to be something psychological behind that, because other while other teammates may be assholes your job does not depend direclty on them or you are pretty much at the same level. Since HR is above you and can fire you at will there is a lot of power bestowed to only one side of the parts involved. I think it may be some kind of Stanford Prison stuff right there. Sorry to call it mate but your field is a rotten one.


What's frustrating is that it, of course, doesn't have to be rotten. We can take one baby step by abolishing terms like "human resources" and "human capital" because labels do matter.

I also wonder if part of the problem is that HR leaders have (broadly speaking) traditionally been 'town planners' when you really need a mix of 'pioneers' and 'settlers' in there too. E.g. don't put a town planner in charge of culture & retention, and don't put a settler in charge of healthcare & benefits compliance.

(Ref: http://blog.gardeviance.org/2012/06/pioneers-settlers-and-to...)


I agree with you. Things need to be solved with a different structure.


> I once got fired because I told some bitch...

In that one line I think there's two issues you might want to think about.

First of all, you're passing judgement apparently without empathising with where she's coming from. If you try to empathise with people rather than letting your amygdala control your response then you'll find life gets much easier.

Secondly, that language crosses the line of acceptability, both in the workplace and on HN. It's fine in a bar or wherever, but in the workplace it makes your audience percieve immaturity and poorly-controlled anger (whether it's there or not), and will make people in your workplace uncomfortable.

Both of those issues raise flags in my mind as things an HR person should pay serious attention to. Ideally they'd be looking to solve the problem first, but getting people to change is hard and company cultures can be fragile.

Just my two cents.


Rich, you know what dignity is? Dignity is being the same person disregarding the situation where you're currently involved.

I see you standing here as a person who is always polite and correct, with a perfect vocabulary and behavior for even the most adverse situations in life. I really, really hope your life crosses path with a woman like that one and you end up in a situation like mine. I would like to see you handle the same situation with the morals you claim to have. Until that moment you will know, for yourself, if you really are the person you claim to be on real life or if the intention behind your comment was just to impress a bunch of people in an anonymous forum.

Best luck.


> Politely but firmly told her ... Fuck off

Your story makes you sound abrasive and unpleasant. If the story played out the way you tell it, she obviously was a bad actor and did something terrible. (And yes, there are definitely some people who will play control games with any little bit of power they gain.) It's difficult to sympathize with you, though, when even your telling of the story makes you sound difficult to work with.

If you're presenting yourself this way in a work environment (or anywhere, really), you will create negative interactions.


You missed one word - "politely". One can be polite and still convey the intended message :-) She obviously got it, hence the revenge.


I didn't miss the word. I just don't believe it's accurate. If the intended message was "fuck off", there's no polite way to deliver that. You might deliver it without literally saying the words, but if the meaning is intact, you're not being polite.

I also don't believe a politely delivered message can result in a 3-month plot filled with false reports, culminating in job termination. How does that play out? "Wow, he's so polite all the time! I'll fuck him over anyway because I'm pure evil! And I've got nothing better to do, so I'll keep at it for months!"


My developer friend had to work with a program/product manager from hell. They hated each other's guts from the minute they met. He was tasked by the CTO with implementing new software and kept asking her for definitive requirements. She never came up with them and told him to propose something based on some loose, very high-level requirements. When he did, she critiqued the solutions in a meeting attended by many people. He never said it, but made it clear (not in the meeting) that she was incompetent/lazy, which she was, in many co-worker's eyes. She tried to get him fired several times (unsuccessfully, my friend was really good and the CTO would not do it).

Not one impolite word was ever spoken (I know for sure, I was there in most meetings).

Sometimes it is just "bad chemistry".


Sure. Bad chemistry happens. And in that instance, it sounds like bad chemistry with a bad person. But if your friend had been "politely" telling this woman to fuck off, then I'd have to say that he was at least contributing to the bad relationship.

I feel like anotherangrydev is more likely than not "contributing to the bad relationship" in his (or her) work environments. When someone has multiple bad interactions with HR, at multiple companies, it starts to look like they're the problem and not HR. Why are they having so many interactions with HR at all? Or was there just one bad experience that they're extrapolating to "99%" of HR employees?


Sure - it takes two to tango. My friend from the story above definitely does not suffer fools gladly :-)

But there is quite a bit of politics/plain stupidity in (bigger) corporations. Should reasonable people just keep quiet and suffer abuse? [my friend WAS reasonable wrt work- he tried his best to get the job done]


OMG, the level of bad faith in your comments is astounding. Do you know 'anotherangrydev' personally? Or do you have a link to some resource which is objective and makes his "contributing to the bad relationship" more probable?


> I just don't believe it's accurate.

I have no idea why would you accuse GP of lying. You don't know him. Do you routinely judge if a person tells the truth based on some words he used?

Also, you confuse the GP's feelings about the situation right now with his attitude back then. Back when it happened, he didn't know of a 3 months long plot against him. Now he does know. He was shown the (obscenity censored because it would apparently alter the meaning of my post) documents, he read it black on white. Just before getting fired, too. It's nothing strange that his wording now is emotional and blunt, it says nothing about how he was back then.

Lastly, of course, there are polite ways of telling people to censored, you know why off politely. It's what assertiveness is all about. There are people, however, who don't really care about the form: they just can't stand others disagreeing with them. I don't think it's that rare a trait. How about that line of thinking:

"He's too polite, he's trying to hide something. And he dared to disagree with me, his superior. More than once! I don't have the time to deal with a time-bomb like him, which can blow up behind my back at any time. I need an army of easily controlled people to help me further my career. Yeah, it would be safer to spend a few minutes more and slip a couple of lies when working on his evaluations."

Preparing reports which are not true, yet are not outright lies, and which make some person look really bad doesn't really take much time. Especially if one does it for a living.


> I have no idea why would you accuse GP of lying.

He claims that he "politely" told someone to "fuck off". It's not really a question of lying, but a question of possibility. You can't politely tell someone to fuck off. Either you didn't tell them to fuck off or you didn't do it politely. "Fuck off" is not polite. It's not supposed to be polite. If you politely ask someone to leave you alone, you're not telling them to fuck off.

> Do you routinely judge if a person tells the truth based on some words he used?

Not that it's really relevant, but yes. How else would you judge a person's truthfulness except through the words they use? Your words matching the facts is basically the definition of truth.

Do you routinely assume that everything anyone claims is accurate?

> Also, you confuse the GP's feelings about the situation right now with his attitude back then.

No, I'm reading his description of what happened. He gives two versions, one of which (fuck off) is intrinsically unpolite. The other (mind your own business) is pretty rude, too. Given his descriptions in general, it's hard to imagine that this was actually a polite exchange.

It's also difficult to believe that his politeness was rewarded by months of revenge plotting and spite. It would be easier to believe this if he presented this as an isolated story. Instead he presents this as an example of how terrible "99%" of HR employees are. So either 99% of HR employees are actually pointlessly spiteful and terrible, or he's intentionally lying, or he has had so many bad interactions that he believes it to be true. If it's the last case, I've got to wonder if the problem is really all of HR or if it's the one guy who keeps having problems with HR.


What a time to be alive. Telling someone to mind her own business is considered rude.


Out of curiosity, which bucket does your case fall into?

1. You've had numerous bad experiences with HR across multiple companies, leading you to label "99%" of HR as rotten.

2. You've had one or two bad experiences with HR, and you're extrapolating from that and just assuming that 99% of HR is rotten.

3. Some other option I don't see.


It's been stated by many posters in this thread that HR is not your friend; they are not there to protect you, but to protect the company from you; and avoid going to HR with any problem you may have.

That's it's better to leave, if you can, than go to HR.

Coming from multiple sources, I'd say that's pretty damning to HR.

About Amazon.. I've never worked there. But I know people who have. I believe the NYT article.


> Coming from multiple sources, I'd say that's pretty damning to HR.

I'd say that a thread full of people griping about HR is not very damning at all. People like to gripe. People who have normal interactions with HR generally don't have much to say in this kind of thread. People who have had a bad experience with HR are happy to vent. If multiple sources complaining is damning, then just about every mid to large-size company must be terrible, because just about every company of size has at least a handful of people (consumers or employees, really) who are delighted to tell you about how horrible their experience with the company was.

I agree that HR is not your friend, and their job is to protect the company. That's logically pretty reasonable since they are employed by the company. Likewise, the sales team is there for the company. And so is the customer service team. And so is the executive team. And so is everyone else, because that's who pays them. That doesn't make them evil or rotten, though. Nor are they evil or rotten just because a few bad people are employed there. Some devs are petty assholes, too.


Always had bad experiences with HR, with around 6-7 different companies. Talking with colleagues on the same industry and others found out that my experiences are not isolated incidents, but quite the opposite they've observed pretty similar things. And finally, have a few friends that work themselves into HR and outsourcing (for SAP & Oracle) so I can speak for that environment pretty well, it is a rotten field. And yeah I'm extrapolating from that.

I can tell you something, I probably talked about this subject at least 100 times during my "professional life" with many different people, I have yet to hear a good experience from someone regarding their HR department.

Mind sharing yourself which bucket do you fall into?


I find it odd that you have so many bad experiences with HR at so many different companies, largely because I don't see why you're interacting so much with HR. I've rarely interacted with HR except when I've needed something from them. Why are you, as a dev, crossing paths with HR so often? A bad interaction with HR for me would be someone being rude, or unhelpful, or at worst incompetent. I don't understand why your interactions with HR seem to involve risk to your job. e.g. Why was an HR person even talking to you on your break?

I fall into the bucket that hasn't had bad experiences with HR. They've been helpful when I've needed stuff, which has been minimal. They've been irrelevant the rest of the time. This has been the case at every company I've worked for.


How many different HR departments?


Three


Normally I would steer clear of interjecting in something like this, however, you know that's basically the opposite of what dignity means, right? Dignity is recognizing the formality of a situation and acting respectfully to yourself and others in it.


> I see you standing here as a person who is always polite and correct...

Nope. I've had more than my fair share of disagreements, personal failures, and shameful moments. I've lost friends. I massively fumbled my first management position.

When something happens and your professionalism slips, either you can brush yourself off, accept your mistakes, and try to learn from them, or you can blame others, make excuses, and learn nothing.

So far, your analysis of the situation has loudly blamed the "bitch" and the entire profession of HR, and not once has your critical gaze fallen onto yourself. Apparently they're all wrong, and you are right.

You can try to goad me about my motives for replying and wish me misfortune, but it doesn't change anything.


No, dignity is not being the same person regardless of the situation. An asshole who is always an asshole doesn't have dignity, he's just an asshole.


> and on HN

why?


When my four-year-old says "why?" I always prompt him to ask a full question. It helps me understand his thought process and give better answers.


"Stay clear of HR, that is true for 99% of jobs."

Having met at least 50+ people in HR who aren't what like you say, i'm going to call complete bullshit on this. I don't think you have anywhere near the kind of data to generalize an entire profession across all industries :)

The vast majority of people i've met who feel like you do are people who were, IMHO fired pretty fairly, but are ashamed to admit that maybe they weren't performing as well as they think, so they blame the system.


Ok, let's play pedantic DannyBee.

>I don't think you have anywhere near the kind of data to generalize an entire profession across all industries :)

>The vast majority of people i've met who feel like you do are people who were, IMHO fired pretty fairly, but are ashamed to admit that maybe they weren't performing as well as they think, so they blame the system.

We're gonna need a source for that too! Or wait, were you discrediting one opinion with another one?

>"Stay clear of HR, that is true for 99% of jobs."

>Having met at least 50+ people in HR who aren't what like you say, i'm going to call complete bullshit on this.

Ever knew of what the '%' sign means? I can get you 50+ people that are in jail and that were later proved to be innocent. Does that mean we should set all of them free?

Waiting for your downvote or a reasonable argument :^)


"We're gonna need a source for that too! Or wait, were you discrediting one opinion with another one?"

I said "i've met". I never claimed it was anything else? Unlike you, who flat out stated 99% of HR ....

You know what, it's not worth having this discussion with you. Given your responses here and elsewhere, you come off as very abrasive and not a person i'd want to work with.

But please, keep going on through life believing it's everyone else.


[flagged]


What is this, reddit?


If you're the author, can you give specifics on performance?


Sub second latency, and it will already download as fast as your pipe will allow for most people, and it will only get orders of magnitude faster! This is first draft, tech preview, yet due to how good its design is, it is fully functional and beyond what is out there.


Thanks for your reply. Pretty good project you have there, and your overall mission, well, it looks like a moonshot but it's noble and pure. I like that.

Have you measured how many requests per second (reads/writes) can you get at max? (For some given hardware configuration)


Thank you very much!

Yes, on my 2nd generation low power i3 running my normal desktop at the time, I get individual ~200ms response time, and that is with 115 32kbyte requests per second.

I am rewriting the high level protocol code that is a bit rickety because it is snowballed from the earliest code in the project other than the asyncio SSH library I implemented from scratch.

When that rewrite is done (a week or two), that will decrease latency greatly, and improve efficiency greatly, and thus should even improve throughput (although that is already max out your pipe with actual data as it is low overhead).

If I switch from 32k blocks to 512k blocks which I did some testing on (Freenet is 1meg blocks), that gives me a 10x !! throughput improvement with same CPU usage and no increase in latency of per request.

The only reason I am 32k blocks originally was the ssh protocol is 35k max packet size and I don't want to break spec so as to be able to hide as normal ssh traffic :) The 512k blocks test I did as multiple packets and was 10x faster, because that means 512k per FindNode operation instead of just 32k :) I was sitting on the fence on switching to it because I want to do the rewrite of the high level code first because the multiple data packets per request complicates that snowballed code even more :)

Also, I am using pycrypto which initial tests show is actually much slower than the other library I will likely switch to (it is called simply cryptography, it wraps platform openssl instead of implementing itself as pycrypto does). I went with pycrypto to minimize dependencies. I will have it detect if you have cryptography installed and use that optionally. I've already abstracted the pycrypto api so I can easily have it switchable at runtime. This should decrease latency a good amount as well.


Ok, try testing with packets of around 128-1024 bytes.

A 'good' result for an i5-i7 core is to get at least 10k requests per second on that situation.

You are gonna live or die by this measure dude, so work on improving it. You are around 100x far from it but if you're lucky you can get there with 'just' two 10x improvements. I suggest you to look into Flame Graphs [1], they are awesome. I have used them to pinpoint exactly where are the 10-100x bottlenecks on my code and unclog them.

Also, about your website, just make it sound less like an infomercial and you'll be fine.

And last but not least, best of luck!

[1] http://www.brendangregg.com/FlameGraphs/cpuflamegraphs.html


I should have mentioned one very important point with the figure I provided. That is 115 requests per second on /one/ i3 /core/. The network itself isn't sweating. Every user of a distributed Reddit for example would be getting those 115 requests per second themselves if they weren't a sizable portion of the network. So 100 users and your figure is matched. The bittorrent mainline DHT has multiple millions of simultaneous nodes at any one time. MORPHiS as is already deprecates bittorrent so is destine to absorb all those nodes. Also, the network scales log, and not just log base 2. Kademlia has an 'accelerated lookup' where you can control the base with memory cost to achieve O(log base 2^b) lookups. A b=3 is a resonable value for memory usage.

I should have mentioned, it is currently limited to one core, due to python. I will make it multicore probably before 1.0. It will be relatively easy to do with the block based design of morphis and the multiprocessing pool api of python. I already use the multiprocessing to great effect in the proof of work and prefix generation.

Also, this is written in a scripting language, Python. Also it is first draft and unoptimized.

If the 115 requests is enough of a problem, which I don't see it being because that is per node, not of the whole network. If that is a problem and can't be improved enough with python, the idea was originally to port it to Rust. Rust wasn't even 1.0 when I started coding, never mind their asyncio io library didn't exist until a couple months ago. Come the Rust port using their newly released asyncio library which performs nearly as well as the libev C well known one, we will be talking the kind of performance you are talking, although 10k requests per second just isn't needed on one node. It is certainly doable though if given the time! Remember, a distributed app doesn't run on one node, and thus need all 10k requests per second on one node.


Thanks for that link, that is a good idea to use that instead of just Python profilers. I will give it a try when I have the time to do optimizations.

Thanks also for the wish of luck!


sorry, I am not and I haven't used it yet, but it looks like an interesting project.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: