HN user

jonny_storm

78 karma

[ my public key: https://keybase.io/jonnystorm; my proof: https://keybase.io/jonnystorm/sigs/aQBB29hPSyfMW54CCO69JVXXWmBQo1FQx-V5NOQoYYo ]

Posts3
Comments47
View on HN

Patterns in Network Architecture

First published in 2007, Patterns... describes a kind of grand unification of network protocols, collapsing the fraught OSI model into a single, recursive layer. Notable features include: the unification of transport semantics, from TCP to UDP; the decimation of Internet routes through private-everywhere, topological addressing; the supplanting of URL and DNS with application names and a dynamic, distributed directory; elegant approaches to mobility and multicast/anycast; emergent security and DDoS mitigation; emergent throughput and connection scaling; a sophisticated approach to monitoring and management; and much more.

With the arguable failure of IPv6, the deepening swamp of IoT, and the now-leaning tower of HTTP-based transports, Patterns... illuminates a different path, one that can still be taken, both in the small and the large.

Because RIPE's last /8 is gone, any remaining addresses will come from whatever has been recovered. Under no circumstances should you expect to receive a contiguous /22 through LIR registration. Still, for obtaining routable /24s, the LIR route will likely remain viable for the next year or so.

If you're not satisfied with the low-TTL/round-robin strategy, you would need to build out some private infrastructure to perform routing failover.

A tunnel with private routers between two cloud providers would allow you to advertise private host routes (/32) inside your network while NAT-ing appropriately to the outside. This achieves manual failover (or fast migration), but it can be expanded for dynamic failover, as well.

Let me know if you'd like me to elaborate the above solution. Otherwise, good luck with whatever solution you choose.

Be aware that there are caveats in this approach. First, a /24 or larger range is compulsory for multi-provider BGP, which is, itself, compulsory for dynamic advertisement in the way you want. Second, broker ranges are only suitable for your use case if they are allocations rather than reassignments. Third, even when a broker has reassignable ranges, they need to then use detailed reassignment rather than simple reassignment for your new block. Otherwise, you will be unable to announce prefixes to providers requiring proof of ownership. Please refer to https://www.arin.net/resources/request/reassignments.html for detailed information on the SWIP process.

In every recent case I've seen (over the last six years), no broker has had ranges larger than /24 for reassignment. Of course, you can do with just a /24, but the justification process has also grown somewhat more stringent, as a pure traffic engineering justification ("We need BGP; here is why.") is no longer enough, in my experience.

You are quite right that IPv4 is exhausted and unobtainable. Moreover, your intuition about IPv6 is also correct, though I would argue the lack of Internet-scale protocol translation is what actually destroys the IPv6 value proposition.

The limitation you point out is not actually in BGP but is, instead, a matter of convention: ISPs will, generally, accept prefixes longer (smaller) than /24 but will not advertise them to other ISPs, in turn. This convention arose out of the need to mitigate the steady increase of core routing table size--as did CIDR, itself, and VLSM before it.

While not ideal, most organizations use DNS for failover of individual, redundant hosts from one address to another. Of course, you may find this unsuitable for your use case, but if the users of your host's service are "the Internet," then the only alternative is to mediate how those users access the host, either by inserting a proxy or creating redundant connections with a custom client on the host.

If you can provide more detail regarding your specific requirements, I may be able to elaborate further, more bespoke alternatives.

Perhaps a better question is, "Does this area of technology suit you?" Don't give up without a fight, and don't assume "being bad" at what you're doing now means you can't improve or do better elsewhere.

It can take a long time to uncover your strengths--decades, certainly. But stay confident that you will eventually find them. And if you don't find them, then make them.

Find stories about people you admire, who did great things. Learn what they did and how they did it. You can draw inspiration from their experiences. You can draw on their strength to support your own.

Best of luck to you, and know you're not alone.

I used to back up my friend's website over FTP to a git repo. He often would break something and have no way to know what broke or how to fix it.

I frequently set up automatic backups of network appliance configurations, route tables, and traceroute results. This is useful for diagnosing sudden problems, as well as taking before and after snapshots when making changes.

I collect interesting data, such as kernel version and versions of various services, from hosted web servers my clients run.

I collect data at regular intervals when investigating a sporadic, chronic trouble event to help me identify correlations and test hypotheses.

I collect BGP and traceroute data at regular intervals from route servers to identify important changes and trends in Internet routing for specific prefixes.

I used to collect IDS signatures in a git repo to track updates, but I eventually moved this to GitLab.

I regularly run a watchdog script to check for, alert on, and attempt to mitigate low disk space and other such conditions.

Hope this helps!

On the contrary, I think you're being precisely the right amount of skeptical.

I'm no expert, either. I've read some of the relevant literature when able, and I've experimented extensively with food and supplements. I also collect anecdotal evidence for the success and failure of different dietary regimes. I think it's especially instructive when your own chosen regime fails for other people. Caution is always warranted.

If you ask a toxicologist whether or not something can kill you, the reply will come swiftly: "How much?" Given the number of people that die each year from water toxicity, we clearly lack intuition regarding the answer. When it comes to fat (saturated fat, in particular), there clearly must be some upper limit before pathologies arise, but the question actually being debated is, "How little saturated fat should we consume?" Similar questions have been posed about cortisol and inflammation, two "obviously bad" things that, as it happens, we cannot do without.

From this standpoint, such debates are largely ideological, as contradictory evidence, discovered in earnest, for opposing viewpoints implies both must be wrong in some fundamental way. Scientists generally recognize this; enthusiasts and journalists, less so. This in no way means proponents are wrong about their observations. Rather, it means their conclusions--that is, the model through which they view their results--are somehow incomplete. This is where new science can shed the most light.

All of this is a long-winded way of saying I have no idea how to reconcile even the data I have seen because there's so much data I haven't read or don't understand. Besides, even experts are weary to give medical advice. And just because my blood work on a ketogenic diet looks fine, that doesn't mean your family history won't affect your own results on the same diet.

If you don't trust your physician to keep up on the latest nutritional science (Why would they?), you can at least work with them to monitor lipid panels while experimenting with your diet. Regular blood work every couple years can also alert you to drastic changes you might not otherwise be aware of. Just be sure to request complete copies of the data for your own records. Otherwise, you may only receive a list of notable results.

Best of luck to you.

The real question is whether or not ketogenic diet is good for you. Unfortunately, the literature simply cannot supply a clear answer either way.

Joe Rogen just did a great show with two scientists discussing the evidence for and against carnivore vs. ketogenic vs. low carb. vs. high carb: https://youtu.be/u93oh9kC-rU. In summary, we're a long way off from matching an individual's biomarkers to an optimal diet, but caloric restriction seems to provide the bulk of the benefits for any given diet.

Though this in no way addresses your question, I hope it may still be of use.

I regularly create extremely information-dense graphs for highly distributed, stateful systems. The result is effectively a high-level specification for effecting some critical set of global behaviors. Lower-level details may then be represented in subsequent diagrams, but these rarely convey much insight beyond what tabular data can. Indeed, tabular data is readily amenable to computation, allowing relationships to be queried without manually consulting a diagram.

For distributed services, simple (name, URI) tuples can be associated with their respective dependencies in a database or document. This flat, non-overlapping structure ensures dependencies always remain easy to identify, no matter how complex they become. IPC dependencies can be documented in a similar way, and even indirect dependencies, such as when one program writes some data which another program must read, are easily obtained from lists of adjacencies.

Crucially, storing dependencies as data does not preclude visualization but makes it possible to generate a wealth of visualizations without manual intervention. Consider that even an intermediate graph representation, such as dot, does not force you to use GraphViz, and the simple adjacency list format is easily parsed and reformatted for use with other tools.

All that said, I do use Visio for the aforesaid design specification style of diagrams. I find every other program out there to be endlessly frustrating for my use case. But if I need to document some system in full, I do so with data to ensure it can be monitored, verified, or simply queried.

Best of luck to you!

"Internet Routing Architectures" from Cisco Press is not a bad start, if slightly dated.

More practically, study the data kept at peeringdb.com, bgp.he.net, bgp4.as, radb.net, and ripe.net for concrete examples of what details are important.

Peerings may be unilateral (someone pays), bilateral (no one pays), or multilateral (everyone pays a little to exchange routes on a single route server). Most companies rely on unilateral peerings to gain direct access to the Googles and Microsofts of the world, and these tend to have certain requirements: either you must pay money, or your autonomous system (AS) must achieve some daily average of traffic bound for the peer AS. PeeringDB is a good resource for discovering these requirements before contacting potential peers.

I hope this helps. Best of luck to you in the travails of working with highly distributed, stateful systems you can't touch; it's a real shit show out here.

It absolutely makes sense. If you're not doing math or writing code, then you're compiling reports and ticking boxes in checklists. Get out of infosec, and start building things.

You can jump to networking, systems automation, data science, product development... Anything else. If you return to security later, you'll be better equipped. If you pick up some theory whilst developing your chops, then so much the better.

Good luck!

Yes, though the extent to which this is feasible is limited by hardware, commerce, and law. Even now, there exist alternative protocols and communities of varying scope for every part of our de facto stack (https://github.com/redecentralize/alternative-internet). Certainly creating an alternative infrastructure poses the biggest challenge, but GuiFi, Freifunk, Ninux and others have met that, and then some.

One project not mentioned in the above link is RINA (https://csr.bu.edu/rina/). According to RINA, the very notion of an "alternative Internet" makes no sense for two reasons: (1) the Internet as we know it is not actually an Inter-net so much as a single, flat network that we accrete; (2) under the RINA model, every network could be considered "alternative," and in almost a Platonic sense, RINA treats every network and every connection as already existing. If this is of interest, I highly recommend the book "Patterns in Network Architecture."

Adam Savage once said he distrusted anyone that hadn't failed, and I share this sentiment. It's likely that, if you haven't failed spectacularly, then you've not had the opportunity to internalize the lessons that come from failure: humility, caution, compassion, self-awareness, respect for evidence.

If you've already hired talent without this experience, then you'll either need to carefully craft an opportunity for them to fail or wait for them to do so all on their own. The latter is, for me, intolerable, and I would rather provide the proudest among them vague architectural tasks that pit their design sense against that of their coworkers. Being in charge of a design that's perpetually torn apart by your fellow implementors is good practice, and it may even reduce the total hubris of the group.

I'm not certain Assange has "weaseled" anything in this particular case. Had he not sought an exchange?

The logic of this article would have Assange extraditing himself to the US in 2045 had Manning's sentence not been commuted. What would be the point of Assange handing himself over, in either case?

As it stands, Assange would be a fool to allow extradition now; if Manning goes free anyway, what use is there in Assange's martyrdom?

I'm a freelance consultant, and I know all to well the danger burnout represents.

I don't know whether being salaried still confers the level of support it once did, but admitting your situation to management (if it's not unwise) and leaning on coworkers may be the best way to gain relief.

There is a kind of grace in yielding completely to the forces that drove you to your breaking point and acknowledging that mastery over your circumstances is not total. Relieving yourself of the burden, if only a short while, helps immensely, but it needs to be the whole burden and not just a part. In my experience, anything short of this only prolongs the suffering.

Much has already been said that I agree with, and so I offer my support and wish you well.

This is a hard problem. Internet tomography aside (an even harder problem), route-servers and looking glasses everywhere expressly forbid automation, and any network administrator, virtually anywhere, can break your reachability testing. Add to this the myriad complications of BGP selectivity (Why do people insist that "net neutrality" is in danger when it never existed as stated?), and network operator participation becomes almost unavoidable.

While I understand that tools such as http://www.internettrafficreport.com and http://internetpulse.keynote.com are not enough, it isn't at all clear to me how any single actor could provide better monitoring. I admit this sounds pessimistic, but I've thought deeply about this and similar topics for many years, and I'm all too familiar with the obstacles to (and poor architecture underlying) Internet polling.

However, I do see a clear need for aggregated monitoring data--many sources, re-published succinctly in one easy-to-find place--and I would certainly donate to such a cause.

I no longer experience much difficulty meditating, though some days are certainly better than others.

Meditation can be quite demanding when you first begin, especially if, like myself, you never much developed a capacity for focus and restraint while growing up. But consistent practice will eventually yield positive results, whether you perceive it helping or not. Just be steadfast in your practice, and within a few weeks time, you should observe at least a small difference. The first time your inner voice and all the other background noise relents and grows silent, you'll be more driven to continue, and the benefits will be manifest.

As Rich Hickey points out in his talk on Hammock-Driven Development, leaving the hard problems to your subconscious is more efficient and, at times, more rewarding. And I would point out that feeling less harried outside work is a boon unto itself.

There will always be problems, but for a certain kind of person, this is ideal; there will always be problems to solve.

Do you believe your apathy is an obstacle to solving problems? Or have you simply not found a problem you care enough about? Or do you mean that you feel overwhelmed by the number and severity of problems you perceive in the world? Or are you actually discouraged by a perceived inability to see solutions to problems? These are all different concerns, and while it isn't clear to me which (if any) of these are yours, I will try to address all of them.

As objectionable as some may find this, apathy (in the sense of being unable to summon deep concern for problems not affecting you directly) is not necessarily an obstacle to solving problems, but it certainly can be an obstacle to solving them well. You can care a great deal about the solution to a problem while caring little for the effect it has on others, but the less isolated the problem (the more people affected), the less likely it is your solution will solve the problem for everyone, or solve it adequately. Indeed, it is entirely possible to make a problem much worse or create a multitude of new problems without taking great care to avoid such things. There is some question as to whether it's possible to change anything whatsoever without doing some kind of violence in the world, and I advise you seek to minimize the violence you inflict however you can. Still, if you're genuinely concerned about an overabundance of apathy, know that a dose of compassion can help, and compassion can be cultivated. (On the subject of doing harm without meaning to, consider Zizek's Violence.)

Whatever your level of worldly concern, you'll still need motivation. What problems move you will be unique to your character and experiences, but I promise you: if nothing is appealing to you, you will need start working first and wait for motivation later. This may be disquieting and counter to intuition, but just as smiling triggers mirror neurons that can lead us to feel happy, so too can working on a problem cause us to care about it. By this, I don't necessarily mean toiling away at a keyboard in isolation; I mean you need to be steeped in the problem. Convince yourself the problem you perceive actually exists by meeting the people who experience it, first hand. Confuse yourself by meeting the people who don't. Understand how others have attempted to solve the problem. Too often you'll find the problem you perceived at the beginning was not a problem at all, and the real problem, if one even exists, is something else entirely. This is important work--far more important than crafting a solution--because you are working to find the right problem to solve.

Once you begin to comprehend the true depth and complexity of a problem, you can easily be overwhelmed by the many sub-problems and their intricacies. Here you must decide what you can do that would have the greatest impact, form a hypothesis regarding how it can be done, and begin iterating toward a solution in small steps. There is an absurd amount of literature on dealing with the many facets of such an enterprise, and I won't try to enumerate all that I've seen here, but I will urge you to exercise humility and generosity in whatever decisions you make. I rather liked the methodology presented in The Lean Startup, though it probably could have been condensed to an essay.

Finally, if you simply can't think of solutions, I suggest doing three things: solve other, smaller, simpler problems; read more about things related to the problem; read more about things prima facie unrelated to the problem. As for specific tactics, Polya's How to Solve It is never a bad place to start. Anything by Michael Michalko is probably worth reading, as well.

Whatever you decide, I wish you well in your endeavors!

Yes, there appears to be good evidence that Vitamin C and Zinc aid immune function. Yes, Iodine deficiency is real, and you should ensure you have enough. Yes, 5-HTP, Tryptophan, Melatonin, and Magnesium are excellent sleep aids. Yes, Caprylic acid oxidizes in the gut to produce ketones. Optimizing bodily function starts with diet, continues with exercise, and finishes with topping off whatever is missing, or reducing whatever is in excess. Knowing what's in your food, how your body interacts with it, and how to supplement it doesn't seem like hand-waving to me. The hand-waving comes when people make extraordinary claims far exceeding the known effects of any one of these tools, and with time and effort, it is possible to cut the wheat from the chaff.

There really is nowhere near enough epidemiological study on the effects of nootropics or performance enhancing drugs, in general. Much of the science surrounding the recent wave of biohacking is bleeding edge and, often, a study on some particular use also represents the entire corpus on its effects. In service of biohacking, this makes it difficult to weed out the hacks. As ever, caveat emptor.

That said, when it comes to making personal decisions about what helps you or hinders you, I don't believe you necessarily need to be a neurologist or an organic chemist. You can collect stories from other people, and take them on balance with what studies you can find. Going over something like http://www.jbc.org/content/89/2/547.full.pdf won't make for exciting reading, but it can help you make informed decisions. You can, with a cautious and self-critical attitude, guinea pig yourself, taking logs and noting your overall health and performance, preferably with the help of your doctor. You can ask others near you if they notice any changes in your performance or mood. And at all times, you can ask yourself how you feel.

There are a lot of people cashing in on "brain drugs" of late. You mention Bulletproof (Dave Asprey), and while Dave surely is making good money, he does sell decent products. To be considered separately, Dave openly advocates for sourcing food and supplements from wherever they may be cheapest and of good quality, but I happen to like his coffee, so I fork over the cash.

I don't know how placebo effect for one supplement could amount to much if you're already taking 30-40 vitamins, powders, and capsules a day (as I am). If I take one more white gel cap, I barely notice. What matters to me are my notes over the last few weeks, whether I've observed any positive or negative impact in that time, and whether that impact was sustained without any obvious confounding factors. This is hardly a multi-year, double-blind trial, but it is enough for me to confidently decide whether I find a drug's results favorable enough to continue using it.

As a freelance contractor, falling into even short bouts of illness, depression, indecision, immobility, or myopia represents a real and ever-present threat to my quality of life. For me, $1200 is completely worth the price of finding new ways to increase my total productive time. For others, that money is better spent elsewhere. Yet I would argue that even webmaven's purchase of a good chair and keyboard is right up there in my original list, under "whatever I find works." Any investment in one's health, I believe, is sure to be repaid in full, for what use is the rest if we do not have our health?

I've come to consider nootropicsdepot.com a trustworthy source of ready-made nootropics, but for "expert mode," I strongly recommend experimenting with a custom stack from the ingredients at bulksupplements.com.

For something easier to start, I got my first great results from Onnit's Alpha Brain while consuming good fat sources. Not all nootropics and supporting ingredients are fat-soluble, but it pays to know when they are so you get the most out of them.

Also, I've experienced piercing clarity, creativity (building effective analogies, lateral thinking, creating novel solutions), and astonishing cognitive speed during light hypnagogia from very low doses of psilocybin combined with nootropics. Of course, the problems with this approach are manifest.

Health hacks. Supplements, nootropics, MCT oil, sleep aids, HRV training equipment, meditation software--whatever I find works. $1200 USD more than covers my annual health needs for regular upkeep beyond food and exercise, but I would spend four times as much for the same without hesitation.

From a purely monetary perspective, I know I can reliably turn $1200 USD invested in my health into many tens of thousands more, but only if I am reliable.

Having the right tools helps me avoid illness, depression, inessential idleness, "brain fog," anxiety, and other, similar maladies. Not fighting myself means I have more energy to focus on my goals, which results in more time for essential idleness, which provides me more energy to focus on my goals, and so on.

With the right tools, I can work at peak performance every day, and $1200 is, to me, a worthwhile price to achieve this. Regardless, I wish you well in whatever you choose to invest your $1200 in.