A few words on code playgrounds Many front-end developers and software companies blog about their trade. Oftentimes their writings include code examples with previews. Over the years a plethora of embeddable code playgrounds were created. Names such as CodePen, JSFiddle, JS Bin, or Plunker may ring a bell to you. They’re almost effortless to use, support frameworks, transpilers, preprocessors and other tooling that have evolved in the Javascript community over the years.| mionskowski.pl
I was in the market for a printer that was cheap to buy and cheap to run. I did not print in color, so I concluded that a dot matrix laser printer would be a good choice. I looked up a couple of units and decided on Brother DCP-1510 as it was on sale for ~$100 with replacement toners running for $8 apiece. Not a bad deal. It had one caveat - no ethernet port, no WiFi support, and no Internet Printing Protocol.| mionskowski.pl
Protocol Buffers or Protobufs are language-agnostic mechanisms for serializing data. Protobuf schemas are specified using Protocol Buffer language, which is among the most popular and widely adopted IDLs in the industry. Protobufs are most commonly used in RPC services for inter-service communication. Their usage is also growing for public-facing interfaces, and recently they have been adopted in tools such as Apache Kafka. Used correctly, they enable both forward and backward compatible mess...| mionskowski.pl
Environment variables are a standard way to parametrize backend containers. For some reason, they haven’t seen wide adoption on the frontend side, which just as much requires customization. Both React and Vue still recommend creating separate .env files for different environments, which is unwieldy at best if you want to containarize the application. In this tutorial, I will guide You through an opinionated way to create environment agnostic frontend images in React.| mionskowski.pl
Introduction I was recently challenged with a pretty common, and a simple problem of positioning a custom context menu. When you DuckDuckGo how to position a context menu phrase you will be greeted with solutions that either: don’t consider boundary conditions or use JavaScript to check the conditions and position the menu accordingly. The issue with the first solution is that it’s not great in terms of User Experience.| mionskowski.pl
I’m not that much of a frontend guy, but I was encouraged by the technology pace used in browsers to play with it. My goal was simple - create a website that imitates a native app. I didn’t have any brilliant ideas at the time therefore my choice fell on a simple student app for my school featuring: Timetable (group filtered) (the original plan is in excel format) Lucky number - every student in a group has it’s number assigned based on alphabetical order of his name and every day a num...| mionskowski.pl
Go doesn’t support generics, one can use go generate, but writing code for that is a pain. Instead we can tinker with reflection to manipulate types and channels. This allows us to create neat event dispatcher with user friendly handler registration and somewhat reasonable event registration. Event emitters are pretty popular in OOP languages which support generics, but of course Go is not one of them. We will try to achieve something similar without generic types.| mionskowski.pl
Over a month ago I’ve created a handy tool to create sitemaps only with URLs matching specific rules. I want to talk about problems and challenges I faced, but mainly explain the art of stream processing. Data scraping and more precisely web scraping involves parsing documents which access to is often quite slow. More often than not the flow looks like this: Make a request Parse whole body into html.| mionskowski.pl
In this write-up, we’ll delve into how, through differential fuzzing, we uncovered a bug in Go’s exp/net HTML’s tokenizer. We’ll show potential XSS implications of this flaw. Additionally, we’ll outline how Google assessed this finding within their VRP program and guide how to engage and employ fuzzing to evaluate your software. Introduction Reminisce with me the discussion boards of 2005. Open to all, searchable from every corner, with no account needed to peek in.| mionskowski.pl