In this post I will show you how to add the Font Awesome icons to your Lucky webapp. Software The following software versions were used in this post. Lucky - 0.28.0 Font Awesome (Free) - 5.15.4 Installation Firstly add the fontawesome-free package via yarn. Next, we import the Font...continue reading
In this IPv6 Buzz podcast episode we geek out about the IPv6 Interface Identifier (IID, i.e., the lower 64 bits of an IPv6 address reserved for interface identification). We discuss why IID is 64 bits, typical configurations, and innovative uses for it.
The post IPv6 Buzz 083: The IPv6 Interface Identifier appeared first on Packet Pushers.
Recorded live at Black Hat 2021 in Las Vegas! Our vaxxed and masked podcast co-hosts, Brandon and Derick, take the show on the road to talk to real network and security folks about Zero Trust. Is it more than just a marketing buzzword? Is it even achievable? Listen to this one-of-a-kind episode to get the straight scoop.


Using async Rust libraries is usually easy. It's just like using normal Rust code, with a little async or .await here and there. But writing your own async libraries can be hard. The first time I tried this, I got really confused by arcane, esoteric syntax like T: ?Unpin and Pin<&mut Self>. I had never seen these types before, and I didn't understand what they were doing. Now that I understand them, I've written the explainer I wish I could have read back then. In this post, we're gonna learn
A few years ago, I needed to write some code which would take some async function, run it and collect some metrics about it, e.g. how long it took to resolve. I wanted to write a type TimedWrapper that would work like this:
// Some async function, e.g. polling a URL with [https://docs.rs/reqwest]
// Remember, Rust functions do nothing until you .await them, so this isn't
// actually making a HTTP request yet.
let async_fn = reqwest::get("http://adamchalmers.com");
// Wrap the Continue reading
Today's Day Two Cloud podcast discusses the challenges of stitching together a fabric across more than one public cloud. How do you architect a fabric given the constraints of each cloud? We also drill into the idea of API gateways. Our guest is Chris Oliver, a network architect at NI.
The post Day Two Cloud 112: Complex Multi-Cloud Networking appeared first on Packet Pushers.
Its not widely that DDOS attacks also cause damage from state exhaustion in devices. A recent study why Netscout surprised me that many engineers are aware of overload bandwidth or routing devices but give less considerations to state exhaustion in application aware devices.
The post Tech Bytes: DDOS and State Exhaustion With NETSCOUT – Updated appeared first on Packet Pushers.
This excellent post contains a workaround. Update the src/models/vrfs.cr file. Summary continue reading
I surveyed 53 IT professionals about online IT training in August 2021. Most of the folks I interact with are networking & cloud infrastructure professionals, and the answers reflect that. 53 responses isn’t enough to draw hard and fast conclusions from, but I still believe there are interesting trends & individual comments worth thinking about.
By the way, if you’d like to submit your own responses, I left the survey open. I told Google Forms to not collect email addresses, so your responses are anonymous.
I believe Udemy is so popular because it’s a great platform to Continue reading
Language is deeply contextual—one of my favorite sayings from the theological world is if you take the text out of its context, you are just left with the con. What does context have to do with development and operations, though? Can there be low and high context situations in the daily life of building and running systems? Thomas Limoncelli joins Tom Ammon and Russ White to discuss the idea of low context devops, and the larger issue of context in managing projects and teams, on this episode of the Hedge.
By default, new Lucky projects use the Int64 type for primary keys. In this post I will cover the process of changing the Lucky database primary keys type from an Int64 to a UUID. Software Used The following software versions are used in this post. Crystal - 1.1.1 Lucky -...continue reading

Routing filters have been a hot topic lately in the world of RouterOSv7. The first implementation of routing filters in ROSv7 was difficult to work with and documented in the two articles below:
MikroTik – RouterOSv7 first look – Dynamic routing with IPv6 and OSPFv3/BGP
MikroTik RouterOS – v7.0.3 stable (chateau) and status of general release
MikroTik then made some changes and opened up discussion to get feedback. I did a lot of work and testing using ROS 7.1beta7 which never made it to public release and was close to publishing the results when 7.1rc1 came out so this post will use that version.

Here is an example of the latest syntax in ROSv7.1rc1
CLI
### MikroTik RouterOS 7.1rc1 ###
/routing filter rule
add chain=dead.beef.101 rule="if (dst==200:dead:beef:101::/64) {accept}"
add chain=dead.beef.102 rule="if (dst==200:dead:beef:102::/64) {accept}"
add chain=dead.beef.agg rule="if (dst in 200:dead:beef::/48) {accept}"
add chain=bgp-out-v6 rule="if (chain dead.beef.101) {set bgp-local-pref 300; accept}"
add chain=bgp-out-v6 rule="if (chain dead.beef.102) {accept}"
add chain=bgp-out-v6 rule="if (chain dead.beef.agg && dst-len<128) {set bgp-local-pref 150; accept}"
Winbox

And the corresponding routes received Continue reading