Skip to main content

Search

Items tagged with: 1


Okay I thought I'd share this recent post here on the #Fediverse. To give it some context, it's an answer to a common question, often a misunderstanding (even by many knowledgeable folks) as to just how we got here.

So first, the question, posed HERE.

And my answer follows below:

There's a lot of apples and oranges here. And everyone had a lot of good points made, but your question is simple, and has a very simple answer. I'll endeavor to address that directly, but do need to tend to some of what has already been said.

## Scroll down to the tl;dr for the succinct answer of your question

Ethernet, ARCNET, Token Ring, Thick net (RG-59), Thin net (RG-58 A/U), and UTP (Cat 3, Cat 5, and Cat 6 unshielded twisted pair, Etc.) really have zero bearing on your question insofar as IP is concerned. All of these specifications relate to the definition of technologies that, although are indeed addressed in the OSI model which is indeed very much in use to this day,but are outside the scope of Internet Protocol. I'll come back to this in a minute.

It's quite common to say TCP/IP, but really, it's just IP. For example, we have TCP ports and we have UDP ports in firewalling. i.e., TCP is Transmission Control Protocol and handles the delivery of data in the form of packets. IP handles the routing itself so those messages can arrive to and from the end points. Uniform Data Protocol is another delivery system that does not guarantee arrival but operates on a best effort basis, while TCP is much chattier as it guarantees delivery and retransmission of missed packets - UDP is pretty efficient but in the case of say, a phone call, a packet here and there won't be missed by the human ear.

That's a very simplistic high level-view that will only stand up to the most basic of scrutiny, but this isn't a class on internetworking ;) If you just want to be able to understand conceptually, my definition will suffice.

Networking (LAN) topologies like Token Ring, ARCNET, and Ethernet aren't anywhere in the IP stack, but figure prominently in the OSI stack. I'm not going to go into the details of how these work, or the physical connection methods used like Vampire Taps, Thin net, or twisted pair with RJ-45 terminators, but their relationship will become obvious in a moment.

The OSI model unfolds like so, remember this little mnemonic to keep it straight so you always know:

> People Don't Need To See Paula Abdul

Okay, touched on already, but not really treated, is the description of that little memory aid.

> Physical, Data Link, Network, Transport, Session, Presentation, and Application layers (From bottom to top).

The physical and Data Link layers cover things like the cabling methods described above,and you're probably familiar with MAC Addresses (medium access control) on NICs (network interface controller). These correlate to the first two layers of the OSI stack, namely, the Physical (obvious - you can touch it), and the Data Link layer - how each host's NIC and switches on each LAN segment talk to each other and decide which packets are designated for whom (People Don't).

In software engineering, we're concerned mostly with the Session, Presentation, and Application layers (See Paula Abdul). Detailed explanation of these top three layers is outside the scope of this discussion.

The Beauty of the OSI model is that each layer on one host (or program) talks to exclusively with the same layer of the program or hardware on the other host it is communicating with - or so it believes it is, because, as should be obvious, is has to pass its information down the stack to the next layer below itself, and then when it arrives at the other host, it passes that information back up the stack until it reaches the very top (Abdul) of the stack - the application.

Not all communication involves all of the stacks. At the LAN (Local Area Network) level, we're mostly concerned with the Physical and Data Link layers - we're just trying to get some packet that we aren't concerned about the contents of from one box to another. But that packet probably includes information that goes all the way up the stack.

For instance, NIC #1 has the MAC: 00:b0:d0:63:c2:26 and NIC #2 has a MAC of 00:00:5e:c0:53:af. There's communication between these two NICs over the Ethernet on this LAN segment. One says I have a packet for 00:00:5e:c0:53:af and then two answers and says, "Hey that's me!" Nobody else has that address on the LAN, so they don't answer and stop listening for the payload.

Now for Internet Protocol (IP) and TCP/UDP (Transmission Control Protocol and User Datagram Protocol):

IP corresponds to Layer 3 (Need) - the Network Layer of the **OSI Model.

TCP and UDP correspond to Layer 4 (To) - the Transport Layer of the OSI model.

That covers the entire OSI model and how TCP/IP correspond to it - almost. You're not getting off that easy today.

There's actually a bit of conflation and overlapping there. Just like in real life, it's never that cut and dried. For that, we have the following excellent explanation and drill down thanks to Julia Evans:

- Layer 2 (Don't) corresponds to Ethernet.
- Layer 3 (Need) corresponds to IP.
- Layer 4 (To) corresponds to TCP or UDP (or ICMP etc)
- Layer 7 (Abdul) corresponds to whatever is inside the TCP or UDP packet (for example a DNS query)

You may wish to give her page a gander for just a bit more of a deeper dive.

Now let's talk about what might be a bit of a misconception on the part of some, or at least, a bit of a foggy conflation between that of the specification of the OSI model and a Company called Bolt Beranek & Newman (BBN) a government contractor tasked with developing the IP stack networking code.

The TCP/IP you know and depend upon today wasn't written by them, and to suggest that it was the OSI model that was scrapped instead of BBN's product is a bit of a misunderstanding. As you can see from above, the OSI model is very much alive and well, and factors into your everyday life, encompasses software development and communications, device manufacturing and engineering, as well as routing and delivery of information.

This next part is rather opinionated, and the way that many of us choose to remember our history of UNIX, the ARPANET, the NSFnet, and the Internet:

The IP stack you know and use everyday was fathered by Bill Joy, who arrived at UC Berkeley in (IIRC) 1974), created vi because ed just wasn't cutting it when he wanted a full screen editor to write Berkeley UNIX (BSD), including TCP/IP, and co-founded Sun Microsystems (SunOS / Solaris):

> Bill Joy just didn’t feel like this (the BBN code) was as efficient as he could do if he did it himself. And so Joy just rewrote it. Here the stuff was delivered to him, he said, “That’s a bunch of junk,” and he redid it. There was no debate at all. He just unilaterally redid it.

Because UNIX was hitherto an AT&T product, and because government contracting has always been rife with interminable vacillating and pontificating, BBN never actually managed to produce code for the the IP stack that could really be relied upon. In short, it kinda sucked. Bad.

I highly recommend that you take a look at this excellent resource explaining the OSI model.

# tl;dr:

So! You've decided to scroll down and skip all of the other stuff to get the straight dope on the answer to your question. Here it is:

> What were the major things that caused TCP/IP to become the internet standard protocol?

The ARPANET (and where I worked, what was to become specifically the MILNET portion of that) had a mandate to replace NCP (Network Control Protocol) with IP (Internet Protocol). We did a dry run and literally over two thirds of the Internet (ARPANET) at that time disappeared, because people are lazy, software has bugs, you name it. There were lots of reasons. But that only lasted the better part of a day for the most part.

At that time the ARPANET really only consisted of Universities, big Defense contractors and U.S. Military facilities. Now, if you'll do a bit of digging around, you'll discover that there was really no such thing as NCP - that is, for the most part, what the film industry refers to as a retcon, meaning that we, as an industry, retroactively went back and came up with a way to explain away replacing a protocol that didn't really exist - a backstory, if you will. Sure, there was NCP, it was mostly a kludge of heterogeneous management and communications programs that varied from system to system, site to site, with several commonalities and inconsistencies that were hobbled together with bailing twine, coat hangers, and duct tape (for lack of a better metaphor).

So we really, really, needed something as uniform and ubiquitous as the promise that Internet Protocol would deliver. Because Bill Joy and others had done so much work at UC Berkeley, we actually had 4.1BSD (4.1a) to work with on our DEC machinery. As a junior member of my division, in both age and experience, I was given the task of, let's say throwing the switch on some of our machines, so to speak, when we cut over from the NCP spaghetti and henceforth embraced TCP/IP no matter what, on Flag Day - 01 January 1983.

So you see,the adoption of Internet Protocol was not a de facto occurrence - it was de jure, a government mandate to occur at a specific time on a specific day.

It literally had nothing to do with popularity or some kind of organic adoption, the erroneously described, so-called demise of the OSI model, or any physical network topology.

### DARPA said 01 January 1983 and that's it, and that was it - Flag Day.

Sure, it took a few days for several facilities to come up (anyone not running IP was summarily and unceremoniously cut off from the ARPANET).

And one also needs to consider that it wasn't every machine - we only had some machines that were Internet hosts. We still had a lot of mainframes and mini computers, etc., that were interconnected within our facilities in a hodgepodge or some other fashion. Nowadays we have a tendency to be somewhat incredulous if every device doesn't directly connect over IP to the Internet in some way. That wasn't the case back then - you passed traffic internally, sometimes by unmounting tapes from one machine and mounting them on another.

There was a lot of hand wringing, stress, boatloads of frustration, and concern by people over keeping their jobs all over the world. But that's why and when it happened. Six months later in the UNIX portions of networks we had much greater stability with the release of 4.2BSD, but it wouldn't really be until a few years later Net2 was released that things settled down with the virtually flawless networking stability that we enjoy today.

Enjoy!

#tallship #DARPA #IP #Internet_Protocol #Computer_History #internetworking #Internet #ARPANET #MILNET #NSFnet #Bill_Joy #BBN #UNIX #BSD

.


Test current release against CVE's

Changes for 0.04 - 2024-01-20

  • Strip WARNING if it prefixes the JSON data
  • Opt to install cpan-cve.pl (issue #1)
  • Pass verbosity from script to parser
  • Fix version chain compare with multiple versions
  • Suppress perl-core CVE's by default in cpan-cve.pl
  • Cowardly give up if no NAME or DISTNAME found
  • Allow multiple folders collected in JSON output
  • It is 2024
  • Update dependencies
#1


Suppose that's not good enough. Bourne shell is still a shitty programming language, and in particular it is really dang hard to read, especially if you're worried about malicious insiders. Which we are.

Now we have another problem. The #1 selling point for autotools vs all other build orchestrators is "no build dependencies if you're working from tarballs," and the only reason that works is you can count on /bin/sh to exist on anything that purports to be Unix. If we want to stop using /bin/sh, we're going to have to make people install something else first, and that something else needs to be a small and stable Twinkie. Python need not apply (sorry, Meson).

What's small and stable enough? Lua is already too large, and at the same time, too limited.

There's one language that's famous for being tiny, flexible, and pleasantly readable once you wrap your head around it: Forth.

If I had investments to live off, I would be sorely tempted to take the next year or so and write my own Forth that was also a shell language and a build orchestrator, and then have a look at rewriting Autoconf in *that.* This is the castle in the air.

#1


If you're at all curious about North American English dialects, Rick Aschmann's website and accompanying chart break it down in astonishing detail. It's perhaps not perfectly accurate, but it shows there's a lot of diversity in our common language!

Tag yourself! I'm #7 North Central, with a hint of #1 Canada :neocat_floof_happy:

https://aschmann.net/AmEng/

#1 #7


Make new tickets from correspondence

Changes for 0.04

  • Installation instructions correction (Codeberg issue #1 / RT #151741)
  • Action path correction from Andreas Wandel (Codeberg issue #2 / RT #151742)
  • Perldoc updated to match README


Make new tickets from correspondence

Changes for 0.03

  • Installation instructions correction (Codeberg issue #1 / RT #151741)
  • Action path correction from Andreas Wandel (Codeberg issue #2 / RT #151742)


A SQL Database object abstraction class

Changes for v1.1.1 - 2024-01-05T10:36:08Z

  • Correcting minor issue with the use of constants in unit tests (Gitlab #2)
  • Correcting an oversight (bug) in DB:😮bject:😛ostgres::Query in method on_conflict()
  • Correcting number formatting (Gitlab #1)
#1 #2


parse XLSX files

Changes for 0.29 - 2024-01-02

  • Merge pull request #1 from theevilapplepie/master: Fix for 'Argument "" isn't numeric in addition (+) at /usr/local/shar…
  • Merge pull request #2 from oharakouhei/master Incorrect cell values due to phonetic data doy#72
  • Merge pull request #3 from nickzoic/master: Fix die message in parse()
  • Merge pull request #4 from mazurin/master: Cannot open password protected SHA1 encrypted files. doy#68
  • Merge pull request #5 from danderman/master: use date format detection based on Spreadsheet:🤐LSX
  • Merge pull request #6 from gquipster/master: Add rudimentary support for hyperlinks in cells
#1 #4 #2 #3 #5


Verify SSH connectivity to specified host.

Changes for v0.1.0 - 2023-12-14T18:21:01Z

  • Document some internals (Andrew Hewus Fresh)
  • Update distribution files (Andrew Hewus Fresh)
  • Pull request #1: SM-1345 (Sam Kim)
  • Remove the anonymous sub-routine (Brandon Messineo)
  • Re-structure the run_command method (Brandon Messineo)
  • Only define used variables (Brandon Messineo)
  • Do not use the helper for the base cases (Brandon Messineo)
  • Change `display` to `return_output` (Brandon Messineo)
  • Make ssh_connect take a hash instead of a hashref (Brandon Messineo)
  • Replaced back to Test2::V0 (Sam Kim)
  • Updated anonymous hash function to make it more readable (Sam Kim)
  • Re-structure code (Brandon Messineo)
  • Do not use camel-casing for perl variables (Brandon Messineo)
  • Remove unused module from cpanfile (Brandon Messineo)
  • Updated Pod to clarify and to include display tag (Sam Kim)
  • Mock the entire SSH process and update tests accordingly (Sam Kim)
  • Refactored to clearly show the process and to reflect the new update (Sam Kim)
  • Allow for optional display of output when $command is specified (Sam Kim)
  • Updated pod (Sam Kim)
  • Add tests to check commands are run properly through the new features (Sam Kim)
  • Add features to run commands through the healthcheck (Sam Kim)
  • Healthcheck:😁iagnostic::SSH implemented (Sam Kim)
  • Added tests for healthcheck (Sam Kim)
  • Create distribution files (Sam Kim)
  • Initial Commit (Sam Kim)
#1


Converts any complicated conditional dispatch situation into familiar static hash-key based dispatch

Changes for 1.00

  • fixed a bug revealed when running C<dispatch> in a loop on 5.36.0 ( 4.19.0-25-amd64 #1 SMP Debian 4.19.289-1 (2023-07-24)) during testing of code presented in a Perl Advent article; thanks Olaf!
#1


Common Neo4j type system

Changes for 2.00 - 2023-11-21

  • Add ByteArray, DateTime, and Duration types. (GH #15, #17)
  • Define methods and behaviour for the Neo4j 5 element ID. (GH #13)
  • Specify previously undefined behaviour. (GH #1, #11, #14)
  • Expand the implementor guidance for driver authors and separate it from the type definitions aimed at users.
  • Separate generic type implementations from the type definitions.
  • Offer test tools to help driver authors with conforming to these types.
  • Raise minimum required version of Perl to v5.10.1.
#15 #14 #1 #11 #17 #13


Trump has filed a motion for a mistrial in the New York case. The motion is here:
https://iapps.courts.state.ny.us/nyscef/ViewDocument?docIndex=N0PX1FMtdplL/b5Oq9DwXg==

I've never practiced in New York, but I think it's safe to say this is a slam dunk in the Loser Department.

Complaint #1: The court, in newsletters, linked to articles that the Trumps think are unflattering to them. (I have no idea what this is about. It's pages 3-4)

Then we get into their beef about the law clerk.

Here, I suggested it's misogyny:
https://law-and-politics.online/@Teri_Kanefield/111352522232854127

1/

#1


Parse plain English date/time range strings

Changes for v1.0.0 - 2023-10-20T19:23:20Z

  • Update README with v1.0.0 (Andrew Hewus Fresh)
  • Pull request #1: Updates for 0.9 (Andrew Hewus Fresh)
  • Attribute MAq as an author (Mark Flickinger)
  • Switch to Dist::Zilla:😛luginBundle::Author::GSG (Andrew Hewus Fresh)
  • Remove .perl-version (Andrew Hewus Fresh)
  • Tidy up cpanfile (Andrew Hewus Fresh)
  • Update META yml with version and author (James Hammer)
  • Add Verion and Authority to main file (James Hammer)
  • Fix business day logic beginning date bugs (James Hammer)
  • Change maintained by line (James Hammer)
  • Update POD (James Hammer)
  • Rearrange elsif portions (James Hammer)
  • Condense conditional statements (James Hammer)
  • Fix spacing issues (James Hammer)
  • Regroup last|past together (James Hammer)
  • Improve Dashed Date regex (James Hammer)
  • Add todo for all zeros case (James Hammer)
  • last and past mintues and hours start and end at BOD, EOD (James Hammer)
  • Condense next hours minute seconds logic (James Hammer)
  • Make wider use of EOD instead of adding one day and subtracting a second (James Hammer)
  • Business day logic autocompletes with incomplete array (James Hammer)
  • Condense past hours minutes and seconds to one subroutine (James Hammer)
  • Only rely on Date::Manip for business days logic (James Hammer)
  • Clarify the ambiguous variable in converting US dashed dates (James Hammer)
  • Remove unecessary Regex (James Hammer)
  • Add distzilla dependencies (James Hammer)
  • Support US style dates with dashes (James Hammer)
  • Support mm-dd-yyyy (James Hammer)
  • Fix ago and from now to act like previous (James Hammer)
  • Capitalize global variables (James Hammer)
  • Fix last and past weekday calculation (James Hammer)
  • Support last and past times (James Hammer)
  • Reorder dates that have been reported backwards (James Hammer)
  • Support Time from now without the regex switch (James Hammer)
  • Support N intervals ago without the regex alteration to past n intervals (James Hammer)
  • Support this, next, last, past minute, second, hour (James Hammer)
  • Deal with second vs 2nd at the end of a phrase (James Hammer)
  • Honor times in the input string (James Hammer)
  • Support english ordinal numbering up to 31 (James Hammer)
  • Fully utilize beginning and end of day and year hashes (James Hammer)
#1


Content warning: Politics

#1


Alias for __PACKAGE__

Changes for v1.1.8 - 2023-09-23T19:16:58Z

  • Correcting an issue with the signature file of this release. Bug #1
#1


Mojolicious Plugin for htmx

Changes for 1.01 - 2023-09-17

  • Added support for HX-Reselect header (htmx 1.9.3) (#1 PR)
#1


Perl implementation of HOTP / TOTP algorithms

Changes for 1.6 - 2023-09-13

  • fix SHA384 and SHA512 blocksize (#1)
#1


type constraints for single value equality

Changes for 0.02 - 2023-08-14T03:27:51Z

  • add type constraints NumEq and NumEqu #1
#1


Concise, expressive creation of Class::Meta classes

Changes for 0.14 - 2023-08-02T01:28:30Z

  • Better fix for failing tests on Windows, suggested by Eric Brine.
  • Fixed broken rt.cpan.org email address.
  • Fixed a couple of typos in the Pod. Thanks to Grzegorz Rożniecki for the pull request (#1).
  • Fixed no-op version requirement for Class::Meta thanks to Graham Knop (#2).
  • Removed the pod tests from the distribution.
#1 #2


From Rotten Tomatoes, critics pick the best 25 movies from the past 25 years. Mad Max: Fury Road is a surprise at #1. And The Dark Knight at #4? Also on the list: Pan's Labyrinth, Portrait of a Lady on Fire, and Spirited Away. https://editorial.rottentomatoes.com/guide/rt25-critics-top-movies-of-the-last-25-years/
#1 #4


Monitor a directory structure for changes

Changes for 0.20 - 2023-07-13T03:28:32Z

#1


I know you're not specifically targeting perl.social with this but i'm going to definitely respond to some of this with regards to it 😀. This #1 is an area that I know I'm ultimately going to fall short on, on my own. I'm hoping that once I get some of the other technical areas of things out of the way that I can enlist some help from some of the more prominent community members to help with this regard on it. I'm hoping that I can force my way into fixing the last few technical issues that I can finally start that outcry for that help fairly soon since I suspect that with the current Reddit API plans that go forward on July 1st that there's going to be another disruption to a lot of communities again (just like happened with twitter).
#1


what modules shipped with versions of Znuny (>= 6.0.30)

Changes for 1.03 - 2023-06-02T07:35:00Z

  • fix minor issue: return from shipped() when no module is given
  • improve tests
  • fix #1: fix repository_type to add repository information to META files
#1


a Z80 assembler

Changes for 2.20 - 2023-05-23

  • Bug Fixes
  • #1 Label addresses are incorrect after a second ORG
#1


Data-Visitor-0.32


Visitor style traversal of Perl data structures

Changes for 0.32 - 2023-04-29T10:07:45Z
  • removed an unnecessary use of Sub::Name (haarg, PR #1)

https://metacpan.org/dist/Data-Visitor
#1


The rest of the people they cite in footnote #1 are all longtermists. Again, please read
https://www.currentaffairs.org/2021/07/the-dangerous-ideas-of-longtermism-and-existential-risk
#1


Net-MQTT-Simple-One_Shot_Loader-0.03


Perl package to add one_shot method to Net::MQTT::Simple

Changes for 0.03 - 2023-03-27
  • Updated package to hide package Net::MQTT::Simple from CPAN indexer
  • Updated tests to pass when IO::Socket::SSL is unavailable - Fixed #1 GitHub
  • Updated tests to added method can tests for response object

https://metacpan.org/dist/Net-MQTT-Simple-One_Shot_Loader
#1


Behold "Glaze", a software tool that subtly alters the pixels in a piece of art online 🎨 ...

... in a way that isn't detectable by the human eye 👀 ...

... but renders the image useless for training a visual AI. The AI can't detect the artists' style, and thus can't mimic it and copy it. 🤖 ✖️

It's item #1 in my weekly "Linkfest" newsletter here 📫 : https://buttondown.email/clivethompson/archive/linkfest-6-gps-on-the-moon-8-bit-jane-austen-and/

(Subscribe here! https://buttondown.email/clivethompson)
#1


WebService-IdoitAPI-v0.1.2


a library to access the i-doit JSON RPC API

Changes for v0.1.2
  • update README
  • give more meaningfull message when JSON RPC client fails
  • fix GitHub issue #1

https://metacpan.org/dist/WebService-IdoitAPI
#1


Mojo-ShareDir-0.02


Shared files and directories as Mojo::File objects

Changes for 0.02 - 2023-01-23T11:05:25Z
  • Add File::ShareDir::Install to CONFIGURE_REQUIRES #1
  • Fix github repo URL #2

https://metacpan.org/dist/Mojo-ShareDir
#1 #2