Jump to content

All Activity

This stream auto-updates

  1. Today
  2. by: Theena Kumaragurunathan Sun, 14 Dec 2025 09:17:30 +0530 A moderation system that leans on automation just knocked legitimate tech tutorials and even entire channels offline. The appeals felt automated, too. Creators are powerless against opaque enforcement and the incentives that should favor craft and trust are tilting toward noise.
  3. Yesterday
  4. by: Roland Taylor Sat, 13 Dec 2025 09:27:34 +0530 NTFSPlus is a fresh implementation of the classic in-kernel ntfs driver. Can it end the current NTFS woes for Linux users?
  5. Last week
  6. by: Daniel Schwarz Fri, 12 Dec 2025 14:38:18 +0000 I’ll admit, when container queries first shipped back in 2022, I didn’t really pay attention. I mean, why container size queries when we already have media queries? Why container style queries when custom properties inherit anyway (they don’t work with standard properties… yet)? Their use cases seemed like edge cases to me, enabling us to do things that we could already do but in a different way. Here’s a container size queries demo by Kevin Powell. As a note, all major browsers support size queries in the following demo, but other demos in this article may require the latest Chrome. CodePen Embed Fallback Container style queries (with the new range syntax) demo by, uh, me: CodePen Embed Fallback And more recently, we’ve seen a couple more types of container queries pop up. Container Scroll-State Queries Container scroll-state queries came along with their unique capabilities — the ability to find out whether a container is scrollable, or is scroll-snapped to a scroll target, or has position: sticky and is ‘stuck.’ Literally, as I’m writing this, Chrome announced scrolled support, which is a bit different to scrollable. Container scroll-state queries demo by our very own Geoff Graham: CodePen Embed Fallback And that’s not all we’ve got… Anchored container queries The latest container query feature is anchored container queries, which enable us to query fallback positions. Imagine that you anchor-position a tooltip caret to the left side of a tooltip, but then there’s no room to display the tooltip, so you flip it to the opposite side of whatever triggers it using position-try-fallbacks: flip-inline. Well, an anchored container query can detect when the tooltip position is flipped so that we can also flip the tooltip caret to the opposite side of the tooltip. CodePen Embed Fallback What else? So, it got me thinking, how far can we really go with container queries? There are dozens of media queries now, so what if there were dozens of container queries as well? What could we use them for? Get any computed value Recently I was exploring the current and future methods of getting the value of a CSS property and using it with another property, and as you can imagine, container size queries were mentioned since they unlock container query units. I mean, have you ever added a wrapper element or defined an existing one as a container just to access container query units? <parent> { /* Gimme container query units! */ container-type: inline-size; <child> { width: 100cqi; } } Now, I don’t love container queries as a means of getting values because the syntax can be a bit long-winded for that (longer than the example above, and size queries in particular are a bit quirky), but the fact that we can use them to do a little more than querying is testament to how versatile they are as a feature. As an alternative, I suggested a CSS function called compute(), where if you wanted the height of something (or the “something” of anything), we could steal it from another element like this: <parent> { <child> { /* Computed height of <child> */ property: compute(height, self); /* Computed height of the parent */ property: compute(height, inherit); /* Computed height of #abc element */ property: compute(height, #abc); } } This would save us from having to implement a container size query just to use its container query units, and would also apply to all properties. Besides, a container size query wouldn’t help us to acquire the un-computed declared value that we actually typed out. For that, the inherit() function has been proposed and Roma even shows us how to use it in Chrome Canary. To add, I really like the keyword approach and would love to see more keywords like currentColor (e.g., currentBackgroundColor has been proposed). Still, if container queries could be extended to get the value of any CSS property, I definitely wouldn’t say no to that! The flexibility to pass properties/values between elements is way too enticing. Query any CSS property This feature has actually been on the slate since container style queries were first proposed, but there’s no telling when it will arrive. This container style query upgrade will enable us to query the (un-computed/declared) value of any CSS property instead of just custom properties (although you won’t be able to ‘get’ and use those values, at least as far as I know). Any CSS property? Uh, doesn’t that make all of the other container queries redundant? Not quite, no. Container scroll-state queries detect snapping and stickiness, for which there are no pseudo-classes — but maybe there should be? They also detect scrollability, since, for example, overflow: scroll and overflow: visible doesn’t mean that the content is actually overflowing, only that we’re allowed to scroll the container if it does. Finally, anchored container queries don’t query the position-try-fallbacks value, they detect when, for example, the position-area is flipped. So, you know, they do a whole bunch of stuff, and that’s why this upgrade for container style queries won’t replace them. In fact, I can totally see dozens of new container query features hitting the web within the next few years. So, what else could container queries do? Before container queries were even a thing, great ideas were being put forward. Of course, some of them actually became container queries whereas others are still just that — great ideas that haven’t gone anywhere (again…yet?). Adam Argyle suggested some interesting things that would later become scroll-state queries, in addition to being able to query whether something’s on-screen, wrapping, or ellipsing, which I’d love to see. Adam also suggested being able to count child nodes, an idea that later became sibling-count() and sibling-index(), although I’d still like to see the container query approach. In a similar vein, Matthew Dean pointed out that some container queries could instead or also be pseudo-classes, which I agree with. Matthew also suggested that container queries could be used to query whether a flex container is wrapped, and which row/column of a flexbox/grid container we’re in. I’m confident that we’ll see these ideas realized at some point, either as container queries or as some other syntax. Heck, since it’s December, I’ll make it my prediction for 2026: container queries will rule 2026. What else do you want container queries to do? References Learn container queries with interactive examples (Ahmad Shadeed) Detect fallback positions with anchored container queries from Chrome 143 (Una Kravets) Play With Inherit Function (Roma Komarov) On Inheriting and Sharing Property Values (Daniel Schwarz) Browser support for current and future container queries (CanIUse) What Else Could Container Queries… Query? originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.
  7. by: Sourav Rudra Fri, 12 Dec 2025 19:42:52 +0530 After years of development, System76's Rust-based desktop delivers.
  8. by: Abhishek Prakash Fri, 12 Dec 2025 16:31:28 +0530 I have been exploring the options to offer replayable playgrounds to complement the text and video learning resources. Is this something you would be interested in? Personally, I prefer trying things on my own machine but these playgrounds also help a learner jump straight into a pre-configured environment to focus on a specific task. Let me know what you think of it.       This post is for subscribers only Subscribe now Already have an account? Sign in
  9. by: Sourav Rudra Fri, 12 Dec 2025 13:29:18 +0530 The update also introduces notification badges and theme categorization.
  10. by: Hangga Aji Sayekti Fri, 12 Dec 2025 13:22:51 +0530 Most people know Kali Linux for its tools, but one of its most underrated strengths is the collection of wordlists it ships with. These wordlists are carefully curated from real breaches, common naming patterns, predictable directory names, and default credentials. They form the backbone of most brute force and fuzzing attacks. When I started learning offensive security, I used to download random wordlists from the internet because everyone recommended “bigger lists mean better results.” The truth is different. Kali’s default wordlists are already powerful, practical, and more than enough for real-world scenarios. You do not always need millions of lines to find something meaningful. Why wordlists still matter?Brute forcing is often misunderstood. It is not about trying every possible combination from aaa to zzzzzz. Modern brute force attacks are driven by smart, context-aware wordlists. A strong wordlist gives you: • Higher success probability • Shorter attack time • More realistic test coverage • Reduced noise during assessments This matters because weak, default, and leaked passwords are still extremely common in real systems. Large-scale attacks like the Mirai botnet and malware families such as Remaiten and BrickerBot succeeded largely by testing small sets of predictable credentials. Honeypot studies also show that attackers continue to reuse passwords found in public leaks, especially entries from the RockYou list that is included in Kali Linux. As long as weak passwords remain widespread, high-quality wordlists will stay essential for both attackers and penetration testers. Where does Kali stores its wordlists?Kali keeps most of its wordlists here: ls -lah /usr/share/wordlists/ You will find several directories, each maintained by different tools. Some lists are massive, others small and focused. All of them serve a purpose. Most important default wordlists with detailsThe table below gives a clean, SEO-friendly overview of the most useful wordlists included in Kali. Wordlist Name Location Size Best For Description RockYou /usr/share/wordlists/rockyou.txt.gz ~14M entries Password brute forcing Real leaked passwords. One of the most successful lists ever used in pentesting. Must be unzipped first. DIRB Wordlists /usr/share/dirb/wordlists Various Directory and file discovery Contains common folder names, web paths, extensions, admin routes, and CMS directories. WFuzz Wordlists /usr/share/wfuzz/wordlist Various Parameter fuzzing Includes parameter names, API tokens, headers, and predictable variables. Metasploit Wordlists /usr/share/metasploit-framework/data/wordlists Small Default credentials Good for testing weak or factory-default logins. Useful on internal environments. These lists cover most real-world pentest flows without requiring any external downloads. Preparing the RockYou wordlistRockYou is compressed, so unzip it first: sudo gzip -d /usr/share/wordlists/rockyou.txt.gz You can glance at the first entries: head /usr/share/wordlists/rockyou.txt This list is extremely effective for testing weak or common passwords on login forms. Understanding the targetLike all the practice exercises in our PenTest lab, we are going to use vulnweb.com, as this site exists specifically for security testing, so everything here is ethical and allowed. For demonstration, we will attack this intentionally vulnerable login form: It includes two POST parameters: unamepassYou can confirm the fields by viewing the HTML: This simplicity makes it a perfect example for beginners practicing brute forcing with Hydra. Brute Forcing The Login Using Hydra And RockYouHydra is preinstalled in Kali and optimized for speed. The basic syntax is not too complicated: hydra -l <username> -P <wordlist> <target> <module> <options> Let us start with a common username such as admin and attack this form on the target website: hydra -l admin -P /usr/share/wordlists/rockyou.txt \ testphp.vulnweb.com \ http-post-form "/login.php:uname=^USER^&pass=^PASS^:Invalid username" Let's see the results: 📋Hydra reports every password that does not trigger the failure string as a valid hit. Because the demo target at testphp.vulnweb.com is intentionally vulnerable, it accepts many common RockYou passwords as “correct,” which is why you see multiple successful results. In real environment, you normally expect only one valid password. The output also confirms the number of attempts, parallel tasks, and the module configuration Hydra used during the attack. Customizing wordlists for faster and smarter brute forcingSometimes RockYou is too large for a quick test. You can easily create more targeted wordlists. For example, extract passwords with exactly six characters: sudo awk 'length($0) == 6' rockyou.txt | sudo tee rockyou-6.txt Or, filter only alphanumeric passwords: grep -E "^[A-Za-z0-9]+$" rockyou.txt | sudo tee alphanumeric.txt Shorter lists allow you to test quickly without sacrificing relevance. Directory discovery with DIRB wordlistsKali’s DIRB lists are excellent for web exploration. Example scan: dirb http://testphp.vulnweb.com /usr/share/dirb/wordlists/common.txt These lists often reveal hidden paths such as admin routes, backup directories, or exposed config files. Parameter discovery with WFuzz wordlistsWFuzz excels at fuzzing parameters and variables. wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt \ -u "http://testphp.vulnweb.com/login.php?FUZZ=test" This technique helps uncover hidden parameters that are not visible in the page’s HTML source. ConclusionKali Linux quietly ships with some of the most practical and battle-tested wordlists you can use as a beginner or professional pentester. From RockYou for classic password attacks to DIRB and WFuzz for exploring web applications, these lists cover nearly everything you need to simulate real-world scenarios. If you are learning cybersecurity, the best next step is simply to experiment. Choose a safe target, start with small wordlists, slowly increase complexity, and observe how your results change. Over time, you will learn which lists work best for which situations.
  11. by: Abhishek Prakash Fri, 12 Dec 2025 12:33:39 +0530 Insights from an Interview with Hirdaypal Singh Lamba, Salesforce Consultant.
  12. by: Sourav Rudra Thu, 11 Dec 2025 18:02:52 +0530 Arti, the Rust rewrite of Tor, brings circuit isolation and onion service improvements in its 1.8.0 release.
  13. by: Sourav Rudra Thu, 11 Dec 2025 18:02:52 +0530 Arti, the Rust rewrite of Tor, brings circuit isolation and onion service improvements in its 1.8.0 release.
  14. by: Abhishek Prakash Thu, 11 Dec 2025 10:01:55 +0530 Gearing up for Tuxmas season 🎅
  15. by: Pulkit Chandak Wed, 10 Dec 2025 22:45:23 +0530 Building a NAS in your homelab? Here are the choices of operating systems you can use.
  16. by: Preethi Wed, 10 Dec 2025 15:04:08 +0000 The CSS animation-timeline property accepts a view() function which, in turn, returns a timeline of how much of an element is visible in the part of a scroll container that’s viewable (formally known as a scrollport). In other words, rather than letting an animation run a linear progression based on how much time has elapsed, view() runs animations based on the visibility of the animated element within a scrollport. I like to equate it as the CSS version of JavaScript’s Intersection Observer. We can run an animation on an element as that element enters and exits the scrollport. Here’s an example: CodePen Embed Fallback Pretty neat, right? Depending on where an image is in the scrollable carousel, it goes from small and blurry at the far sides while getting larger and clearer when it hits the center. We have a little scroll snapping in there as well to make sure each image item makes a stop. It’s not that hard to do! I’ll show you how it’s really the same old animation you’re used to writing in CSS, only applied on a view timeline instead of a normal timeline. But first, the general layout All I’m making here is an element I’m calling .carousel: <main class="carousel"> <!-- scroll items --> </main> The elements in .carousel will lay out in a single row, which is a one-liner with flexbox. We’ll also make sure that any content overflowing its space is scrollable: .carousel { display: flex; width: max(480px, 50vw); overflow-x: auto; } And, of course, we need items in it that we can scroll around. A set of image slides. <main class="carousel"> <div class="carousel-slide"> <!-- (optional) empty bookend slide --> </div> <div class="carousel-slide"> <img src="image-1.jpeg" alt="alt text for image 1"> </div> <div class="carousel-slide"> <img src="image-2.jpeg" alt="alt text for image 2"> </div> <!-- etc --> <div class="carousel-slide"> <!-- (optional) empty bookend slide --> </div> </main> As far as styling those items, each one will be one-third the size of the available space so that we see three items at a time when scrolling: .carousel { /* same as before */ .carousel-slide { flex-shrink: 0; width: calc(100% / 3); /* show three at a time */ aspect-ratio: .8; img { width: 100%; } } } Then the scrolling We’ve already set overflow-x on the .carousel, officially making it our scroll container. We can drop in a little scroll snapping to make sure we’re only scrolling one item at a time. .carousel { /* same as before */ scroll-snap-type: x mandatory; scroll-behavior: smooth; /* optional for smooth scrolling */ scrollbar-width: none; /* optional to hide the scrollbar */ } We want to make sure that the slides are aligned to the center of the scroll container when snapping into place: .carousel-slide { /* etc. */ scroll-snap-align: center; } Here’s what we have so far: CodePen Embed Fallback Next, the animation Here’s the really cool thing I mentioned at the very start: a view timeline animation is really the same thing as any other CSS animation you write with keyframes. In this case, we want keyframes where the carousel items are small and blurry at the start and end, but become larger and clearer right smack dab in the middle of the animation. @keyframes slide { /* from start to 45%, and to the end (100%) */ 45%, 100% { transform: scale(0.5); border-radius: 20px; filter: blur(6px) brightness(.8); } /* middle */ 50% { transform: scale(1); border-radius: 4px; filter: none; } } Looks familiar, right? This is the sort of CSS you’ve been writing forever! And guess what? We set the animation on the element we’re animating just as you normally would as well: .carousel-slide { /* etc. */ animation: slide; } The only difference is that we want the animation to run on a timeline based on the element’s current view() instead of the regular timeline. That’s where the animation-timeline property comes into play: .carousel-slide { /* etc. */ animation: slide; animation-timeline: view(inline); } Now, technically speaking, we could slap that timeline directly in the animation shorthand property like any other constituent animation property, e.g., animation-name, animation-delay, animation-duration, etc. But assigning a timeline function this way is not supported by any browsers yet. So, for now, your best bet is to declare it on its own. Just be sure to declare it after the animation shorthand, or else you may find yourself inadvertently overriding your view timeline with auto (the default property value) instead of view(). That completes our demo: CodePen Embed Fallback See that? All we’ve really done is set a CSS animation that runs on elements. However, instead of running on the default timeline, the animation runs when an element scrolls in and out of view. That’s the difference between standard and view timelines. view() vs. scroll() But wait! You may or may not know that view() timelines are part of a larger feature set called CSS Scroll-Driven Animations. And view() is not the only function supported by the animation-timeline property. We also have the scroll() function. The scroll() function creates a scroll progress timeline that’s tied to the scroll position of a container, whereas view() creates a view progress timeline that’s based on the visibility of an element within its container. Both functions are useful in their own ways! I generally think view() is better for item-specific reveal effects. So, for example, if we want to animate a slide only as that specific slide scrolls into the scrollport, then the view() function is the perfect fit. That’s why I’ve focused on it for our carousel example — we want to track an element’s position in the scrollport and run the animation accordingly. Inset parameter and animation-range You might also be wondering what the heck goes in the parentheses of the view() function. It’s a function, after all, so it must accept something in there, right? CSS view() takes two arguments: axis (block, inline, x, and y) and the inset. The inset parameter defines an offset from the scrollport’s edges within which the animated element is tracked. The official syntax looks like this: animation-timeline: view(<axis> <view-timeline-inset>); …which is merely a fancy way of getting specific with exactly what areas of the scrollport we want to trigger the animation. For some animations, starting and ending the timeline when element fully enters and exits the scrollport may cut things off. CodePen Embed Fallback That’s no good! We want each item to fully slide in when it fully enters the scrollport, not when it fully exits. That’s why all the items look so staggered — they’re all at different points in the view timeline. That’s where the inset parameter makes a big difference. We can be more specific about saying we want each element to start animation when it comes up from the bottom of the scrollport. animation: slide-in linear both; animation-timeline: view(100% 0%); Ah, much much better: CodePen Embed Fallback The animation-range property works along similar lines. animation-range: entry; /* same as: entry 0 entry 100%; */ CodePen Embed Fallback The animation-range property accepts a slew of other keywords, including exit (when the element leaves the scrollport), cover (when the element begins to enter begins to leave the scrollport), and contain (when the element fully enters then fully leaves the scrollport), among others. Geoff has published a bunch of notes and examples looking specifically at each one. One last carousel example Generally, carousels use effects like fade in-and-out, scaling, and parallax. However, since most CSS properties are animate-able, and even those who aren’t can be tricked into being so using registered CSS properties (like in the case of gradient lines), you have the option to explore more creative ways of using view() for carousels. Here’s an example where an animation of just the background position creates a nice movement in a carousel. CodePen Embed Fallback Creating Scroll-Based Animations in Full view() originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.
  17. by: Sourav Rudra Wed, 10 Dec 2025 19:39:28 +0530 The Divine D. is set to come with LoRa networking, hardware privacy switches, and local AI processing.
  18. by: Sourav Rudra Wed, 10 Dec 2025 16:18:58 +0530 Canonical teams up with AMD to package ROCm directly in Ubuntu.
  19. by: Sourav Rudra Wed, 10 Dec 2025 15:08:07 +0530 Anthropic's MCP, Block's goose, and OpenAI's AGENTS.md form the foundation of this new initiative.
  20. by: Roland Taylor Wed, 10 Dec 2025 08:27:07 +0530 An in-depth look at 'another new Chromium-based web browser" that is "different from the other Chromium-based web browsers".
  21. by: Sourav Rudra Tue, 09 Dec 2025 22:00:34 +0530 Swiss startup offers remote access to living neural networks for research.
  22. Earlier
  23. by: Sourav Rudra Thu, 04 Dec 2025 14:17:07 GMT Fedora is known for pushing boundaries when it comes to adopting new tech, almost always staying near the bleeding edge of what's currently available. The project doesn't really wait around for things to become "accepted" before jumping in. That approach now continues as the Fedora Engineering Steering Committee (FESCo) just gave the green light to replace a very old system component with something more modern. What's Happening?Fedora 44 is ditching fbcon, the kernel framebuffer console, in favor of kmscon, a more modern userspace console based on Kernel Mode Setting (KMS). If you have ever pressed Ctrl+Alt+F2 on your Linux computer and seen a full-screen text interface, that's what we are talking about. It is also the same text-only screen that shows up when you boot up your system. Currently, the old console runs inside the kernel itself. The new approach moves it to userspace, where regular programs live instead of deep in the sensitive core. Why the Change?Jocelyn Falempe, who came up with this proposal, laid out some very good reasons for this. The first one is obvious, fbcon is showing its age. It lost scrolling support years ago when developers had to yank the feature due to a security bug. It still relies on fbdev emulation, even though modern GPU drivers moved to the newer DRM interface. This creates an unnecessary component that shouldn't be there. Then there is the security issue. fbcon runs in kernel space, so when it crashes, your whole system goes down with a kernel panic. This makes recovering a system painful. What to Expect?kmscon brings back what fbcon left out. Scrolling works again. Keyboard handling is considerably better with xkbcommon support. Multiple layouts, proper shortcuts, and more are included. There is also the ability to change fonts, use more Unicode characters, and the keyboard layout is mirrored with what a user has on their graphical environment. Don't worry about things breaking. If kmscon gives out, your system falls back to the old Getty/fbcon setup automatically. You can switch back yourself too if needed. The end game is to eventually do away with both fbcon and fbdev emulation completely. If Fedora pulls this off without issues, other distros could probably follow along soon. You can go through the conversation surrounding this change on Fedora Discussion. Via: Phoronix
  24. by: Andy Clarke Thu, 04 Dec 2025 14:04:52 +0000 I spend an unhealthy amount of time on the typography in my designs, and if you’ve read any traditional typography books, you might remember “the measure.” If not, it’s simply the length of a line of text. But measure means more than that, and once you understand what it represents, it can change how you think about layout entirely. But why’s it called the measure? Photo: Wilhei, via Wikipedia (CC BY 3.0) Before desktop publishing, typesetters worked with physical metal type. They set lines of text within a composing stick, and the width of the stick was called the measure. It was literally the space you could fit type into, and everything else on the page — from column widths to margins and gutters — was designed around it. A good measure makes reading text comfortable, while a bad one makes it more difficult. An uncomfortable measure makes reading more difficult. See this example in my lab. And when the measure is correct, the rest of the layout falls into place. So, rather than allowing layout to dictate the measure, doesn’t it make more sense for the measure to inform layout decisions? Turning the measure into a custom property In my CSS, I start by defining a custom property: :root { --measure: 60ch; } ch units are ideal for this because they relate to the width of the zero (0) character in a chosen font. Somewhere between 60–70 characters per line is a comfortable reading length, so 65 characters feels natural. 60ch is a solid starting point, but it isn’t universal. Different typefaces produce different real-world line lengths, even when the character count stays the same. Typefaces with a large x-height appear visually larger, so 60ch can feel longer than it really is. Condensed faces make 60ch feel too short. Wider faces can make it feel too long. Even small tracking changes stretch or compress the perceived measure. The point is simple: treat 60ch as a baseline, then adjust by eye. Once the measure becomes a variable, you can use it across your layout to keep everything connected. Keeping text readable I suspect most developers have used the max-width property. Although it took time to retrain my muscle memory, I now use CSS logical properties, replacing max-width with max-inline-size: article { max-inline-size: var(--measure); margin-inline: auto; } Well considered measure makes reading more comfortable. See this example in my lab. That prevents long-line syndrome, which afflicts too many websites when viewed on large screens. Designing multi-column text Multi-column layout is one of the most underrated CSS layout tools. Instead of specifying the number of columns, defining the column width lets the browser decide how many columns fit along the inline axis. The measure can also define the widths of those columns: article { column-width: var(--measure); } The measure can define multi columns widths. See this example in my lab. When the columns’ parent container becomes wide enough, a browser flows text into as many readable columns as will fit. When there’s not enough space for multiple columns, the layout falls back to a single column, all without breakpoints and media queries. Letting the measure influence a grid The measure also helps me design grids which feel connected to my content. For example, when I’m implementing a layout with a column containing long-form content, plus another flexible column, I can lock the text content to the measure: .layout { display: grid; grid-template-columns: minmax(0, var(--measure)) 1fr; } The measure also creates grids which feel connected to content. See this example in my lab. That first column ensures that reading text remains comfortable, while the second adjusts to whatever horizontal space remains. Measure-driven container queries For years, developers learned to think of screen sizes in terms of specific breakpoints (320px, 48em, 64em, and so on) and media queries. It’s a hard habit to break and one which, to be honest, I haven’t always managed myself. Those numbers don’t come from content; devices define them. They really should be called “guesspoints” because we mostly never know which numbers work for most people. Instead of dictating that a layout switches at, say, 48em and 64em, I can let my content decide when a layout should change by using the measure. Measure makes a better breakpoint. A measure-driven breakpoint, combined with container queries, responds to text content. So, when a column becomes narrower than a readable line length, a layout can collapse. But when it becomes wide enough to support more structure, the layout can expand. A CSS container query checks the width of the component’s container instead of a screen or the viewport. For instance, when a component is narrower than 65 characters, I can apply specific styles: /* When the container is no wider than the --measure */ @container (max-width: var(--measure)) { /* Styles */ } My design might include multiple columns, perhaps a wider column for the main content and a narrower one for supporting information: [data-layout="yogi"] { display: grid; grid-template-columns: 3fr 1fr; } If the container can’t support a text column equal to the measure, this query replaces the two columns with a single column layout: @container (max-width: var(--measure)) { [data-layout="yogi"] { grid-template-columns: 1fr; } } This feels more natural because the composition is connected to the content rather than the device’s width, creating a comfortable reading environment. Making a measure system Depending on the variety of content I need to present, on certain projects, I define several variations of the measure: :root { --measure: 60ch; --measure-s: 55ch; --measure-l: 80ch; } This gives me a variety of line lengths for use in different situations: Small for captions and other shorter text blocks Regular for body copy Large for introductions, headings, and hero sections When type, spacing, and layout all share the same underlying rhythm, the result can feel more coherent and more intentional. Considering the measure can change how you design When you design with the measure in mind, layout stops being guesswork and becomes a conversation between content and composition. Reading becomes more comfortable, and the page feels more deliberate. It’s a small shift, but once you start anchoring your design decisions to the measure, it changes how you approach layout entirely. Further reading Article on Jun 3, 2025 Getting Creative With HTML Dialog dialog Andy Clarke Article on Aug 25, 2025 Getting Creative With Images in Long-Form Content images UI/IX Design Andy Clarke Article on Aug 11, 2025 Getting Creative With Quotes inspiration typography Andy Clarke Article on Oct 29, 2025 Getting Creative With Small Screens rwd UI/IX Design Andy Clarke Article on Jul 18, 2025 Getting Creative With Versal Letters initial-letter inspiration typography Andy Clarke Article on Oct 6, 2025 Getting Creative With shape-outside css shapes images UI/IX Design Andy Clarke Getting Creative With “The Measure” originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.
  25. by: Sourav Rudra Thu, 04 Dec 2025 09:29:19 GMT Session is an open source encrypted messaging app that requires no phone number or email address to sign up. Instead of routing messages through centralized servers, Session uses a decentralized network of over 2,000 nodes running the onion routing protocol, similar to Tor, ensuring that no single server knows both the message origin and destination. The Session Technology Foundation took over stewardship of Session back in October 2024, succeeding the Australia-based Oxen Privacy Tech Foundation (OPTF). The transition wasn't purely administrative; it was triggered by Australian authorities' probes into Session's operations and the threat of anti-encryption laws that could compel backdoors. Alexander Linton, who worked as a journalist before joining the Session project, now serves as President of the Session Technology Foundation. In an email interview, we discussed his transition from journalism to privacy advocacy, Session's approach to trust and safety without centralized moderation, and the threats that surround encrypted communication. How Did You Get from Being a Journalist into Leading the Session Technology Foundation?When I was working in a newsroom, it became very clear to me, both from my own experience and from observing my peers, that there was a real gap when it came to secure communication. Journalists handle sensitive information every day, and yet the tools available to us were never built with our safety or our sources’ safety in mind. You could feel that vulnerability. So when I heard there was a team in my hometown building a secure messaging tool, I knew I had to be involved. I joined the project seven years ago with the simple belief that people deserve the ability to communicate without surveillance or unnecessary exposure. Over the years, I applied myself in every way I could, learning from the team, contributing wherever I added value, and helping shape Session into what it has become. Leading the Session Technology Foundation today feels like a natural continuation of that same mission: making truly private, secure communication accessible to the people who need it most. It started as a personal frustration and turned into a global responsibility, and I’m grateful for that journey every day. What's Been the Biggest Surprise in Session's Growth Since You Became President?Day to day, when you’re building secure tools, it can sometimes feel like you’re working on an island. There’s a lot of noise, skepticism, and concern about people who push for real privacy. You hear so much about the pressure against secure communications and against the teams who build them, and it can feel isolating at times. Stepping into a more public role changed that perspective for me completely. The amount of support, encouragement, and alignment coming from every corner of life has been overwhelming in the best way. It’s been a reminder that people do care about privacy, safety, and ownership of their communication, and they’re grateful for tools that protect those things. The most incredible part has been hearing the individual stories of how Session has helped people in times they needed a messenger they could trust to have a conversation in safety. Those stories make everything worth it. They remind us who we’re building for and why this work is important. How Has Switzerland Been as a Home for the Foundation and Have There Been Any Regulatory Issues?Switzerland has been a great home for the Session Technology Foundation. It’s a place that understands the value of digital rights and open source innovation, and it provides a stable environment for stewarding a global project like Session. Being here has allowed us to focus on long-term development rather than short-term noise. However, even Switzerland has its concerns, specifically with respect to the proposed changes to VUPF. Like many jurisdictions, they are reviewing proposals connected to digital privacy and encryption. This is not unique to one country; it’s happening everywhere as governments try to understand how to regulate emerging technologies. We are watching it closely. Switzerland plans surveillance worse than US | TutaRevision of Swiss surveillance law VÜPF would directly target VPN & encrypted chat and email providers based in Switzerland.TutaHannaWhat's the Relationship Between Session Technology Foundation and OPTF Now That You are Independent?The two organizations are now entirely independent. The Session Technology Foundation is the steward of Session; it manages the open source repositories, handles app publishing, and provides development support to contributors across the ecosystem. OPTF’s role today is mostly historical. It played a meaningful part in Session’s early years, and it continues to be a supporter of digital privacy more broadly. How Does the Foundation Aim to Close the User Base Gap to the Likes of Signal and Telegram?Signal and Telegram grew to their current popularity because they were able to fill a need that people have. Similarly, Session is filling a need that people have now and will continue to have in the future, the ability to communicate securely and privately without attaching their identity to a phone number. Communication and privacy are universal needs, and as we continue improving the application and the overall platform experience, more people naturally choose Session because they want to communicate safely, privately, and without being turned into a data point. For us, the focus isn’t on chasing user numbers for the sake of it. It’s on building something genuinely valuable and reliable. If we stay focused on that mission, the audience will follow. We’re already seeing that growth as awareness of privacy and metadata risks becomes more mainstream. How Would You Convince People That Session Token Isn't Just a Cash Grab?Session Token is the mechanism for creating a sustainable future for Session. It is not short-term thinking — but long-term. If we want private messaging infrastructure to be owned and operated by the community rather than a company, there needs to be a secure and decentralized way to incentivize and support that infrastructure. That’s the role of Session Token. The purpose of Session Token is not to fill the pockets of some people. It’s about creating an ecosystem where the public good of private messaging can be owned by the public. Instead of relying on a private enterprise to run essential communication infrastructure, we are building a model where people who support the network and contribute value are the ones who benefit from it. Session Token - Session TokenThe future of privacy is powered by you.Session TokenSession's Architecture Makes Content Moderation Nearly Impossible. How Do You Think About Trust and Safety?Encryption is foundational to our model for trust and safety. Often, security and privacy are demonized in the conversation around online safety, but in reality they are safeguards. There is no future for online safety without privacy and security; these are first principles. Session is built so that people have control over their own experience. There are user controls around message requests, participation in open communities, and contact discovery, which give people agency over who is talking to them and what can be shared with them. Session is a tool, and as there is no ‘one person’ running the platform, the STF cannot claim to be the arbiter or moderator of your specific conversation. Instead, Session enables community-level moderation; people set norms for the spaces they participate in, and those norms are enforced locally rather than through platform-wide scanning or surveillance. At a technical level, there is no way to conduct full, platform-wide moderation on an encrypted platform without backdooring the encryption. We believe that weakening encryption would ultimately make everyone less safe, not more. Our approach to trust and safety is about empowering people, strengthening privacy, and giving communities tools to protect themselves without compromising security. In These Polarizing Times, Is the Bigger Threat to Privacy Government Overreach or People Just Not Caring Anymore?Part of the attack against encryption is trying to convince people not to care. If the public becomes apathetic, it becomes much easier to undermine privacy without resistance. Apathy is not a solution; ignoring the issue of online privacy only makes the problem worse and leaves everyone more exposed. Government overreach is a real concern. Some proposals around the world target both the technology and the people building secure tools, often through mechanisms that could weaken encryption or introduce scanning systems. It is important to remain vigilant, specifically with respect to backdooring encryption (such as through scanning mechanisms, i.e., chat control). Technology itself can also be an enemy of privacy when it is designed without security in mind. The prevalence of AI, particularly when it is embedded at the operating system level, presents an existential threat to secure communication and online security in general. 💬 Are you a Session user? Thinking of trying it out? Do let me know in the comments below!
  26. by: Sourav Rudra Thu, 04 Dec 2025 09:29:19 GMT Session is an open source encrypted messaging app that requires no phone number or email address to sign up. Instead of routing messages through centralized servers, Session uses a decentralized network of over 2,000 nodes running the onion routing protocol, similar to Tor, ensuring that no single server knows both the message origin and destination. The Session Technology Foundation took over stewardship of Session back in October 2024, succeeding the Australia-based Oxen Privacy Tech Foundation (OPTF). The transition wasn't purely administrative; it was triggered by Australian authorities' probes into Session's operations and the threat of anti-encryption laws that could compel backdoors. Alexander Linton, who worked as a journalist before joining the Session project, now serves as President of the Session Technology Foundation. In an email interview, we discussed his transition from journalism to privacy advocacy, Session's approach to trust and safety without centralized moderation, and the threats that surround encrypted communication. How Did You Get from Being a Journalist into Leading the Session Technology Foundation?When I was working in a newsroom, it became very clear to me, both from my own experience and from observing my peers, that there was a real gap when it came to secure communication. Journalists handle sensitive information every day, and yet the tools available to us were never built with our safety or our sources’ safety in mind. You could feel that vulnerability. So when I heard there was a team in my hometown building a secure messaging tool, I knew I had to be involved. I joined the project seven years ago with the simple belief that people deserve the ability to communicate without surveillance or unnecessary exposure. Over the years, I applied myself in every way I could, learning from the team, contributing wherever I added value, and helping shape Session into what it has become. Leading the Session Technology Foundation today feels like a natural continuation of that same mission: making truly private, secure communication accessible to the people who need it most. It started as a personal frustration and turned into a global responsibility, and I’m grateful for that journey every day. What's Been the Biggest Surprise in Session's Growth Since You Became President?Day to day, when you’re building secure tools, it can sometimes feel like you’re working on an island. There’s a lot of noise, skepticism, and concern about people who push for real privacy. You hear so much about the pressure against secure communications and against the teams who build them, and it can feel isolating at times. Stepping into a more public role changed that perspective for me completely. The amount of support, encouragement, and alignment coming from every corner of life has been overwhelming in the best way. It’s been a reminder that people do care about privacy, safety, and ownership of their communication, and they’re grateful for tools that protect those things. The most incredible part has been hearing the individual stories of how Session has helped people in times they needed a messenger they could trust to have a conversation in safety. Those stories make everything worth it. They remind us who we’re building for and why this work is important. How Has Switzerland Been as a Home for the Foundation and Have There Been Any Regulatory Issues?Switzerland has been a great home for the Session Technology Foundation. It’s a place that understands the value of digital rights and open source innovation, and it provides a stable environment for stewarding a global project like Session. Being here has allowed us to focus on long-term development rather than short-term noise. However, even Switzerland has its concerns, specifically with respect to the proposed changes to VUPF. Like many jurisdictions, they are reviewing proposals connected to digital privacy and encryption. This is not unique to one country; it’s happening everywhere as governments try to understand how to regulate emerging technologies. We are watching it closely. Switzerland plans surveillance worse than US | TutaRevision of Swiss surveillance law VÜPF would directly target VPN & encrypted chat and email providers based in Switzerland.TutaHannaWhat's the Relationship Between Session Technology Foundation and OPTF Now That You are Independent?The two organizations are now entirely independent. The Session Technology Foundation is the steward of Session; it manages the open source repositories, handles app publishing, and provides development support to contributors across the ecosystem. OPTF’s role today is mostly historical. It played a meaningful part in Session’s early years, and it continues to be a supporter of digital privacy more broadly. How Does the Foundation Aim to Close the User Base Gap to the Likes of Signal and Telegram?Signal and Telegram grew to their current popularity because they were able to fill a need that people have. Similarly, Session is filling a need that people have now and will continue to have in the future, the ability to communicate securely and privately without attaching their identity to a phone number. Communication and privacy are universal needs, and as we continue improving the application and the overall platform experience, more people naturally choose Session because they want to communicate safely, privately, and without being turned into a data point. For us, the focus isn’t on chasing user numbers for the sake of it. It’s on building something genuinely valuable and reliable. If we stay focused on that mission, the audience will follow. We’re already seeing that growth as awareness of privacy and metadata risks becomes more mainstream. How Would You Convince People That Session Token Isn't Just a Cash Grab?Session Token is the mechanism for creating a sustainable future for Session. It is not short-term thinking — but long-term. If we want private messaging infrastructure to be owned and operated by the community rather than a company, there needs to be a secure and decentralized way to incentivize and support that infrastructure. That’s the role of Session Token. The purpose of Session Token is not to fill the pockets of some people. It’s about creating an ecosystem where the public good of private messaging can be owned by the public. Instead of relying on a private enterprise to run essential communication infrastructure, we are building a model where people who support the network and contribute value are the ones who benefit from it. Session Token - Session TokenThe future of privacy is powered by you.Session TokenSession's Architecture Makes Content Moderation Nearly Impossible. How Do You Think About Trust and Safety?Encryption is foundational to our model for trust and safety. Often, security and privacy are demonized in the conversation around online safety, but in reality they are safeguards. There is no future for online safety without privacy and security; these are first principles. Session is built so that people have control over their own experience. There are user controls around message requests, participation in open communities, and contact discovery, which give people agency over who is talking to them and what can be shared with them. Session is a tool, and as there is no ‘one person’ running the platform, the STF cannot claim to be the arbiter or moderator of your specific conversation. Instead, Session enables community-level moderation; people set norms for the spaces they participate in, and those norms are enforced locally rather than through platform-wide scanning or surveillance. At a technical level, there is no way to conduct full, platform-wide moderation on an encrypted platform without backdooring the encryption. We believe that weakening encryption would ultimately make everyone less safe, not more. Our approach to trust and safety is about empowering people, strengthening privacy, and giving communities tools to protect themselves without compromising security. In These Polarizing Times, Is the Bigger Threat to Privacy Government Overreach or People Just Not Caring Anymore?Part of the attack against encryption is trying to convince people not to care. If the public becomes apathetic, it becomes much easier to undermine privacy without resistance. Apathy is not a solution; ignoring the issue of online privacy only makes the problem worse and leaves everyone more exposed. Government overreach is a real concern. Some proposals around the world target both the technology and the people building secure tools, often through mechanisms that could weaken encryption or introduce scanning systems. It is important to remain vigilant, specifically with respect to backdooring encryption (such as through scanning mechanisms, i.e., chat control). Technology itself can also be an enemy of privacy when it is designed without security in mind. The prevalence of AI, particularly when it is embedded at the operating system level, presents an existential threat to secure communication and online security in general. 💬 Are you a Session user? Thinking of trying it out? Do let me know in the comments below!
  27. by: Sourav Rudra Thu, 04 Dec 2025 07:16:32 GMT Ubuntu's community wikis have long been an essential resource for people looking to troubleshoot issues, find guides, and learn more about the popular Linux-powered operating system. For over two decades, these wikis have served countless users and developers globally. Canonical has announced that it is working on building a new Ubuntu wiki from the ground up. This is being done to address the many issues plaguing the existing wikis that have gone unaddressed for years. The current wikis at wiki.ubuntu.com and help.ubuntu.com will be decommissioned in August 2026. The first one has been around since 2004, the same year Ubuntu's first release, Warty Warthog, came out. A small team at Canonical is now working on a replacement. What Can We Expect From the New Wiki?The team brings together technical authors, platform engineers, community engineers, designers, and Ubuntu engineers who are already at work developing and testing the new wiki on a private test instance. Canonical is targeting an Alpha release sometime in 2026. Throughout the development process, the team will be consulting the community and taking their feedback into account. But, you might be wondering, why go through all this trouble? Shane Crowley, a Technical Author at Canonical who announced this, lays out some pretty convincing points. For starters, the existing wikis run on an older version of MoinMoin with Python 2, which no longer receives security patches. This is a major concern for anyone using or contributing to the wikis, and it is not something that can be ignored. Then there's the content quality issue. The wikis are filled with outdated information that often shows up in search results instead of the official Ubuntu documentation. This can be frustrating for users who stumble upon old pages when they need current solutions (I have personally faced this when I was an Ubuntu user). Usability has also taken a hit. Users frequently face issues with registration and login. Page loads are very slow. The styling doesn't meet modern web standards and performs poorly on mobile devices. All of these issues collectively make for a very poor user experience. In future updates, Canonical plans to share more about their thinking behind the undertaking and provide details on how community members can get involved. So, if you are interested in contributing, keep an eye out for those announcements over on the Ubuntu Community Hub. Want to Master Ubuntu? Whether you’re new to Ubuntu or have been using it for years, The Ultimate Ubuntu Handbook offers a wealth of practical tips, time-saving tricks, and insider insights that will help you get even more out of your Ubuntu experience. Get the Book
  28. by: Abhishek Prakash Thu, 04 Dec 2025 04:17:06 GMT Recently, Linus Torvalds and Linus Sebastian come together for a YouTube video collaboration. There, Torvalds said that the infamous blue screen of death in Windows is not a software issue in most cases. Hard to disagree with him. Linus Torvalds Defends Windows’ Blue Screen of DeathAnd he is not wrong actually.It's FOSSAbhishek PrakashAlso, if you like It's FOSS and rely on Google search, please add us as your preferred source in Google. This way, you get reliable and more accurate information on Linux in this age of AI slop. Here's the highlight of this edition of FOSS Weekly: A new open source font by Google.KDE Plasma dropping X11 in the future.The Linux kernel 6.18 release.Ubuntu 26.04 LTS is dropping some default apps.Firefox based browsers.And other Linux news, tips, and, of course, memes!This week of FOSS Weekly is supported by the awesome folks at Prepper Disk. With privacy and Internet stability more challenging than ever, Prepper Disk is a private offline stash of over 500 GB of vital websites in any emergency. Wikipedia, iFixit report guides, StackExchange, world road maps, HAM radio repeater information, and much more are inside a compact, easy-to-carry device. It’s FOSS Newsletter readers get a FREE EMP Bag with a purchase of the Prepper Disk Premium, using this link. Get This Exclusive Offer 📰 Linux and Open Source NewsLinux kernel 6.18 arrives with "less bugfixing noise."KDE Plasma 6.8 will drop support for the X11 session.ONLYOFFICE Docs 9.2 lands with an AI grammar checker tool.A group of Swiss data protection officers has declared US cloud giants can't meet privacy standards.Google just open-sourced its Sans Flex font and launched a new AI tool for automated documentation creation.🧠 What We’re Thinking AboutAre self-hosting and homelabbing the logical next step for Linux users? It does seem so as Linux users are already leading the revolution of self-hosting. Self-Hosting is Rising and Linux Users are Leading This RevolutionSelf‑hosting isn’t anti‑cloud; it’s pro‑agency. It’s choosing the right locus of control for the things you care about.It's FOSSTheena Kumaragurunathan🎓Get certified, get job ready, at 65% lessBeing the most prominent and official organization behind Linux and many other Enterprise open source projects, Linux Foundation's certifications hold good value in the job market. Their Kubernetes certifications helps you land DevOps jobs. Linux Foundation is running Cyber Monday offer, and you can get upto 65% off on certification exams and training courses. So, if you are looking for a career in Linux sysadmin and DevOps field in 2026, take the advantage of the sale as the exam period is valid for one year. Get it for discount today, prepare for the certification exam and attempt it in a few months. You can take two attempts at the exam. Explore Linux Foundation Cyber Monday Deals🧮 Linux Tips, Tutorials, and LearningsNot every web browser needs to be based on Chromium. Here are some great alternatives. Not Every Browser is Built on Chrome: Explore These Firefox-based OptionsThink all popular browsers out there are Chromium based? Take a look at this Firefox-based options.It's FOSSPulkit ChandakUbuntu 26.04 is a few months away, but it doesn't hurt to take an early look at what's coming, does it? Ubuntu 26.04: Release Date and New FeaturesThe development for Ubuntu 26.04 LTS has started and it’s time to start looking towards the features and changes it is bringing.It's FOSSAbhishek PrakashAnd a quick tip on checking the temperature of your NVMe SSD from the command line. We are in December now and I can safely say that Christmas is here. This may sound like Mariah Carey, but all I want for Christmas is...your support. As one of the rare few publications with a special focus on desktop Linux users, we have been functioning for the past 13 years with the support of readers like you, not corporate backers. If you believe in our work, if we ever helped you, do consider upgrading to an It’s FOSS Plus membership — just $3/month or a single payment of $99 for lifetime access. Show Your Support With It's FOSS Plus 👷 AI, Homelab and Hardware CornerRaspberry Pi 5's 1GB variant has arrived, but who is it for in 2025? Raspberry Pi 5 1GB Variant: Is It Worth $45?Other SBCs offer more RAM at this price point. So, should you still pay $45 for a 1 GB Pi?It's FOSSSourav RudraFitbit couldn't keep Pebble down. It is now on course for a big return! ✨ Project HighlightsMost new distros don't offer anything of substance other than a few themes perhaps. This is why ObsidianOS is different as it offers the innovative concept for system wide rollback with the classic Ext filesystem.. ObsidianOS Review: A New, Innovative Linux Distro Built Around A/B PartitioningThe idea to rollback via two root partitions is interesting. This is certainly not your regular rethemed Arch distro.It's FOSSNeville OndaraThink you know the best Linux system monitor? This showdown may surprise you. Mission Center vs. Resources: The Ultimate Linux System Monitor ShowdownTwo of the best GUI-based system monitors for desktop Linux users. Which one is better of the two? Let’s find out.It's FOSSRoland Taylor📽️ Videos I Am Creating for YouIt is nearly a year since I have been using Zen as my primary browser. It is based on Firefox but feels so different to use. Watch me use Zen in the latest video. Subscribe to It's FOSS YouTube Channel💡 Quick Handy TipIn Firefox, you can use @ in the address bar to access various searching areas. These search areas include things like searching among tabs, your bookmarks, the history, a different search engine, and more. This works in other browsers too, but the availability of search areas will differ. 🎋 Fun in the FOSSverseGovernance in open source is an important thing. Can you beat this crossword to prove your knowledge? Governance in Open-Source Projects: CrosswordA crossword to help you figure out governance in the open-source world.It's FOSSAnkush Das🤣 Meme of the Week: Musings of a wise ape... No offense to Manjaro users or users of other Arch-based distros. 🗓️ Tech Trivia: On December 3, 1968, Control Data Corporation unveiled the CDC 7600, a machine often hailed as the first true supercomputer. Engineered by Seymour Cray, the system pushed boundaries with performance nearing 40 megaflops, an extraordinary achievement for its era. 🧑‍🤝‍🧑 From the Community: A tutorial on how to setup LVM with dedicated /mnt/data_backups by one of our regular FOSSers. Complete guide for LVM with dedicated /mnt/data_backupsComplete guide Two Volume Groups (VGs): vg_data: A massive <4.55 TiB storage pool across 5 physical volumes (/dev/sdb1, /dev/sdc1, /dev/sdd1, /dev/nvme0n1p1, and /dev/sdf1). vgmint: A <2.25 TiB volume group for your operating system (/) and swap, spanning 3 physical volumes (/dev/nvme1n1p2, /dev/sde1, and /dev/sda1). Logical Volumes (LVs): > I have a dedicated <1.40 TiB logical volume (lv_backups) specifically for backups, which is where I put Timeshift data (/mnt/data_backups). A larg…It's FOSS Communityjackfrost❤️ With lovePlease share it with your Linux-using friends and encourage them to subscribe (hint: it's here). Share the articles in Linux Subreddits and community forums. Follow us on Google News and stay updated in your News feed. Opt for It's FOSS Plus membership and support us 🙏 Enjoy FOSS 😄
  29. by: Ani Wed, 03 Dec 2025 10:44:18 +0000 It’s never too late to try something new. You might end up loving it, and if not, you can always change it again. Nothing is set in stone. About meI am Elina Johnston. I’m currently working as an IT Solutions Specialist at Konecranes, where I’ve been for over two years. I started at the company as a trainee while I was studying. I hold a bachelor’s degree in Business IT, with a focus on cybersecurity, which I got last spring. My Unexpected Path into TechI must say that the IT field wasn’t something I originally envisioned myself going into. In my early 20s, I studied women’s clothing as a seamstress, so I was originally in the clothing and fashion sector. It’s quite a different field compared to where I am now. But the job market for that kind of work hasn’t been great in Finland, so I ended up working as a dry cleaner—still with clothes, but in a very different way. I quickly discovered that the role wasn’t a good fit for me. After that, I moved in a completely different direction and became a medical secretary in a hospital orthopaedic department. That was quite a big shift. While I was working there, I started my studies in Business IT, and eventually I applied for a trainee position at Konecranes. I worked throughout the rest of my studies, and now I’m in a permanent role doing similar work but with more responsibilities. Elina Johnston, IT Solutions Specialist, Konecranes Growing Through LearningAs a trainee, my manager made sure I got a solid overview of her daily tasks rather than just assigning the simplest work. She gave me pieces of her own workload, walked through them with me, and helped whenever I ran into trouble. Those early months were filled with learning sessions, questions, and a lot of support. Little by little, I began tackling more on my own, and over time, the work started to feel more natural. That steady guidance made all the difference as I grew into the role. Even with all the support, the first six months were tough. I often questioned whether I was in the right place or if I knew enough to be doing this job. But little by little, things started to make more sense. It’s still challenging at times, and I certainly don’t know everything, but I’ve learned that that’s okay. Continuous learning is part of the journey. Working at KonecranesI really enjoy working at Konecranes. My team is fantastic, and the company culture is low-hierarchical. One thing I really appreciate is that Konecranes recognizes that people work in different ways. The flexibility they offer makes a huge difference for me. For example, even though I’m based in Finland, my team is spread across different parts of Europe, so I work mostly from home. Going into the office would mean spending most of the day in phone booths on Teams calls, which isn’t exactly inspiring. Instead, I’m trusted to work remotely, and that freedom is something I value deeply. One of the best parts of my job, though, is my team, especially my manager. She’s truly wonderful, and I’m grateful for everything she’s taught me. Her support, guidance, and overall kindness have made a huge impact on my growth. What I Do TodayIn my current role, I support the configuration of our applications, test different functionalities, and produce related documentation. We don’t code in my team, but we’re responsible for adjusting and configuring the platform so that it provides accurate information and is easier for end users to navigate. Creative Skills That Translate Into ITMy creative background has given me skills that turned out to be incredibly valuable in IT. It has made me adaptable and helped me communicate well, which has helped me tremendously while learning new tools and processes. I’ve discovered that I don’t get stuck and focus on just one thing at a time; I can manage several tasks without losing track of them. I also have a good eye for detail, which makes it easier to spot patterns, understand new concepts, and troubleshoot unfamiliar problems. Often, I can figure out something completely new simply by drawing on past experiences, both from this job and the work I did before. Those creative roots still help me think outside the box when I need it most. Building a Creative MindFor as long as I can remember, I’ve been creating art. I still paint regularly, especially in oils, and it’s a practice that has stayed with me throughout my life. My parents encouraged my creativity early on. I took extra art classes alongside my regular schoolwork when I was a child. Looking back, that early support made a huge difference; it shaped how I see the world and continues to influence the way I approach challenges today. AI as a Helpful AssistantI do use AI, but I try not to rely on it too heavily. For example, I use it for transcribing meetings and taking notes, which is something that used to take a lot of time and split my focus on taking notes at the same time as listening to the meeting. Also, sometimes, when something tiny isn’t working and I can’t spot the issue, it’s incredibly helpful to ask an AI tool to review it. Often, it quickly points out the small detail I missed. I’ve come to see AI as more of an assistant than anything else. At the same time, because of its environmental impact, I avoid using AI for tasks I can easily handle myself, like simple searches or information I know I can find on Google. I think it’s important to challenge myself to solve as much as I can on my own and use AI as a tool rather than a crutch. If You are Afraid of Changing Careers, Read ThisIf there’s one message I want to send to anyone reading this blog post, it’s to stay curious and open to change. You never really know where life will take you, and being willing to adapt makes each transition, even the unexpected ones, a little easier. When I look back at my own path, I wouldn’t change any of it. I’ve moved through different careers, and every experience has given me skills, insights, and confidence that shape how I work today. I’m grateful for all of it and excited to see where things go next. If sharing my story can serve as a role model for someone, I hope it encourages you to explore, experiment, and trust that change is possible. Whether you are struggling where you are or simply craving something different, you can try something new. And if it turns out not to be your path, you can always return to what you were doing — or find something else entirely. The important thing is giving yourself permission to try. The post Role Model Blog: Elina Johnston, Konecranes first appeared on Women in Tech Finland.

Important Information

Terms of Use Privacy Policy Guidelines We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.