# receiver

Published articles for receiver.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Hedy Lamarr's Frequency-Hopping Idea and Its Connection to Bluetooth

DevFeed: [Hedy Lamarr's Frequency-Hopping Idea and Its Connection to Bluetooth](<https://devfeed.tech/articles/hedy-lamarr-famous-actress-and-mother-of-bluetooth-39316.md>)

Original publisher: [Read original article](<https://kt.academy/article/hedy>)

Published: 2026-06-08T00:00:00Z

Content type: article

Language: en

Sources: [Kt. Academy](<https://devfeed.tech/sources/kt-academy.md>)

Topics: [Bluetooth](<https://devfeed.tech/topics/bluetooth.md>), [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [bluetooth](<https://devfeed.tech/tags/bluetooth.md>), [devices](<https://devfeed.tech/tags/devices.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [radio](<https://devfeed.tech/tags/radio.md>), [receiver](<https://devfeed.tech/tags/receiver.md>), [signal](<https://devfeed.tech/tags/signal.md>), [story](<https://devfeed.tech/tags/story.md>), [technology](<https://devfeed.tech/tags/technology.md>), [workshop-learning-programming](<https://devfeed.tech/tags/workshop-learning-programming.md>)

### AI overview

The article describes Hedy Lamarr's life as an actress and inventor, focusing on her World War II idea of rapidly changing radio frequencies to help protect torpedo guidance from jamming. It explains that the US Navy did not use the technology and later connects the frequency-hopping concept to Ericsson's work on a data-exchange protocol, while acknowledging uncertainty about whether Lamarr directly inspired it.

### Source excerpt

Fascinating story of Hedy Lamarr, the Hollywood star who is considered the mother of Bluetooth.

## Ultra Ethernet: Reinventing X.25

DevFeed: [Ultra Ethernet: Reinventing X.25](<https://devfeed.tech/articles/ultra-ethernet-reinventing-x-25-11219.md>)

Original publisher: [Read original article](<https://blog.ipspace.net/2025/07/ultra-ethernet-reinventing-x25/>)

Published: 2025-07-23T06:06:00Z

Content type: opinion

Language: en

Sources: [ipSpace.net blog](<https://devfeed.tech/sources/ipspace-net-blog.md>)

Topics: [Ethernet](<https://devfeed.tech/topics/ethernet.md>), [ibm](<https://devfeed.tech/topics/ibm.md>)

Tags: [data-center](<https://devfeed.tech/tags/data-center.md>), [ethernet](<https://devfeed.tech/tags/ethernet.md>), [ibm](<https://devfeed.tech/tags/ibm.md>), [ip](<https://devfeed.tech/tags/ip.md>), [receiver](<https://devfeed.tech/tags/receiver.md>), [recovery](<https://devfeed.tech/tags/recovery.md>), [technical](<https://devfeed.tech/tags/technical.md>), [udp](<https://devfeed.tech/tags/udp.md>)

### AI overview

The article examines reported features of Broadcom's Tomahawk Ultra ASIC and emerging Ultra Ethernet specifications, including a modified header, hop-by-hop retransmission, lossless Ethernet, and credit-based flow control. It argues that these ideas resemble mechanisms from Fibre Channel, IEEE 802.1 LLC2, and X.25, while expressing skepticism about the industry press coverage.

### Source excerpt

One should never trust the technical details published by the industry press, but assuming the Tomahawk Ultra puff piece isn't too far off the mark, the new Broadcom ASIC (supposedly loosely based on emerging Ultra Ethernet specs): Uses Optimized Ethernet Header, replacing IP/UDP header with a 10-byte something (let's call it session identifier) Makes Ethernet lossless with hop-by-hop retransmission/error recovery Uses credit-based flow control (the receiver continuously updates the sender about the amount of available space) If you're ancient enough, you might recognize #3 as part of Fibre Channel, #2 and #3 as part of IEEE 802.1 LLC2 (used by IBM to implement SNA over Token Ring and Ethernet), and all three as the fundamental ideas of X.25 that Broadcom obviously reinvented at 800 Gbps speeds, proving (yet again) RFC 1925 Rule 11.

## Interfaces 101 : Interface Type Assertion Ep. 6

DevFeed: [Interfaces 101 : Interface Type Assertion Ep. 6](<https://devfeed.tech/articles/interfaces-101-interface-type-assertion-ep-6-22218.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2023/03/interfaces-101-interface-type-assertions.html>)

Published: 2023-03-07T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [interfaces](<https://devfeed.tech/topics/interfaces.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [IO](<https://devfeed.tech/topics/io.md>), [Streams](<https://devfeed.tech/topics/streams.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [copy](<https://devfeed.tech/tags/copy.md>), [flush](<https://devfeed.tech/tags/flush.md>), [go](<https://devfeed.tech/tags/go.md>), [golang](<https://devfeed.tech/tags/golang.md>), [interfaces](<https://devfeed.tech/tags/interfaces.md>), [introduction](<https://devfeed.tech/tags/introduction.md>), [io](<https://devfeed.tech/tags/io.md>), [io-interface](<https://devfeed.tech/tags/io-interface.md>), [io-reader](<https://devfeed.tech/tags/io-reader.md>), [io-writer](<https://devfeed.tech/tags/io-writer.md>), [library](<https://devfeed.tech/tags/library.md>), [logger](<https://devfeed.tech/tags/logger.md>), [receiver](<https://devfeed.tech/tags/receiver.md>), [type-alias](<https://devfeed.tech/tags/type-alias.md>), [versatile](<https://devfeed.tech/tags/versatile.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

This video tutorial explains how to use type assertions and Go interfaces. It demonstrates io.Reader and io.Writer, io.Copy, and interface design while building a logging library that moves data from memory to stable storage.

### Source excerpt

Introduction In episode 5, Miki wrote a function that counted the number of lines in a file with interfaces. The first thing his function did was to open a file with Go's os.Open function. Miki chose this method because the variable returned by said function implements the io.Reader interface which is crucial for the next step. The remaining parts of this function consisted of a primitive type alias that satisfied the io.Writer interface and tracked the number of lines by increasing the Write method's receiver value. To put the process in motion, Miki will invoke function io.Copy to trigger his type alias' Write method and in essence, count the number of lines in the file.

## Receivers and Extensions

DevFeed: [Receivers and Extensions](<https://devfeed.tech/articles/receivers-and-extensions-25062.md>)

Original publisher: [Read original article](<https://typealias.com/start/kotlin-receivers-and-extensions/>)

Author: author@typealias.com (Dave Leeds)

Published: 2022-06-13T00:00:00Z

Content type: tutorial

Language: en

Sources: [Dave Leeds on Kotlin - typealias.com](<https://devfeed.tech/sources/dave-leeds-on-kotlin-typealias-com.md>)

Topics: [Extension](<https://devfeed.tech/topics/extension.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>)

Tags: [explicit-receiver](<https://devfeed.tech/tags/explicit-receiver.md>), [extension](<https://devfeed.tech/tags/extension.md>), [extension-function](<https://devfeed.tech/tags/extension-function.md>), [extension-property](<https://devfeed.tech/tags/extension-property.md>), [extensions](<https://devfeed.tech/tags/extensions.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [implicit-receiver](<https://devfeed.tech/tags/implicit-receiver.md>), [introduction](<https://devfeed.tech/tags/introduction.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [learn-to-program](<https://devfeed.tech/tags/learn-to-program.md>), [programming](<https://devfeed.tech/tags/programming.md>), [receiver](<https://devfeed.tech/tags/receiver.md>)

### AI overview

A Kotlin tutorial chapter explaining how extensions add functions and properties to existing classes. It introduces explicit and implicit receivers, extension functions, and extension properties.

### Source excerpt

Kotlin extensions can be used to add new functions and properties to existing classes--even to classes that you didn't write! In this chapter, we'll cover explicit receivers, implicit receivers, extension functions, and extension properties. Buckle up! Standalone Functions and Object Functions Way back in Chapter 2, we learned how to create functions. Here's a very simple function that puts single quotes at the beginning and the end of a String.

## Compose Row, Column and Scoped Modifiers

DevFeed: [Compose Row, Column and Scoped Modifiers](<https://devfeed.tech/articles/compose-row-column-and-scoped-modifiers-22654.md>)

Original publisher: [Read original article](<https://www.valueof.io/blog/compose-row-column-rowscope-columnscope-modifier>)

Author: James Shvarts

Published: 2022-03-29T02:48:35Z

Content type: tutorial

Language: en

Sources: [Android Blog - Mobile Dev Notes](<https://devfeed.tech/sources/android-blog-mobile-dev-notes.md>)

Topics: [Compose](<https://devfeed.tech/topics/compose.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [alignment](<https://devfeed.tech/tags/alignment.md>), [code](<https://devfeed.tech/tags/code.md>), [compose](<https://devfeed.tech/tags/compose.md>), [function](<https://devfeed.tech/tags/function.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [layout](<https://devfeed.tech/tags/layout.md>), [receiver](<https://devfeed.tech/tags/receiver.md>), [space](<https://devfeed.tech/tags/space.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

This tutorial explains how to build layouts in Jetpack Compose with Row and Column composables. It covers horizontal and vertical arrangement, alignment, scoped modifiers through RowScope and ColumnScope, modifier chaining, and scoping composables.

### Source excerpt

Explore the power of Row and Column composables and their respective RowScope and ColumnScope modifiers to layout child composables

## Galileo's Proposed Authentication Algorithm: Part 1

DevFeed: [Galileo's Proposed Authentication Algorithm: Part 1](<https://devfeed.tech/articles/galileo-s-proposed-authentication-algorithm-part-1-36405.md>)

Original publisher: [Read original article](<https://berthub.eu/articles/posts/galileos-authentication-algorithm-part-1/>)

Published: 2020-08-13T18:50:09Z

Content type: article

Language: en

Sources: [Bert Hubert's writings](<https://devfeed.tech/sources/bert-hubert-s-writings.md>)

Topics: [Cryptography](<https://devfeed.tech/topics/cryptography.md>), [Security, Privacy and Abuse Prevention](<https://devfeed.tech/topics/security-privacy-and-abuse-prevention.md>), [integrity](<https://devfeed.tech/topics/integrity.md>), [Provable security](<https://devfeed.tech/topics/provable-security.md>), [Network](<https://devfeed.tech/topics/network.md>)

Tags: [cryptography](<https://devfeed.tech/tags/cryptography.md>), [gnss](<https://devfeed.tech/tags/gnss.md>), [receiver](<https://devfeed.tech/tags/receiver.md>), [rf](<https://devfeed.tech/tags/rf.md>), [series](<https://devfeed.tech/tags/series.md>), [spoofing](<https://devfeed.tech/tags/spoofing.md>)

### AI overview

This first part of a series explains Galileo's proposed Open Service Navigation Message Authentication (OSNMA), focusing on the TESLA cryptographic scheme and its role in improving trust in GNSS messages. It notes that message authentication cannot by itself prevent sophisticated RF spoofing, but is an important step toward detecting unauthenticated or altered data.

### Source excerpt

Position, velocity and time (PVT) information can be a 'nice to have', but in other circumstances knowing place and time has legal or military importance as well. Heavy vehicles for example are typically outfitted with tachographs that track driver speed and/or location. This has importance for rest regulations, but also to check if loads are actually from where they say they are. Our Global Navigation Satellite Systems so far are broadcasting unauthenticated data, at least to civilian users.

## Review of the Uputronics GPS/RTC Raspberry Pi Expansion Board

DevFeed: [Review of the Uputronics GPS/RTC Raspberry Pi Expansion Board](<https://devfeed.tech/articles/review-of-the-uputronics-gps-rtc-raspberry-pi-expansion-board-36576.md>)

Original publisher: [Read original article](<https://berthub.eu/articles/posts/uputronics-gps-rtc-expansion-board/>)

Published: 2020-07-09T11:38:00Z

Content type: comparison

Language: en

Sources: [Bert Hubert's writings](<https://devfeed.tech/sources/bert-hubert-s-writings.md>)

Topics: [Raspberry Pi](<https://devfeed.tech/topics/raspberry-pi.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>)

Tags: [configuration](<https://devfeed.tech/tags/configuration.md>), [gnss](<https://devfeed.tech/tags/gnss.md>), [measurements](<https://devfeed.tech/tags/measurements.md>), [pi-4](<https://devfeed.tech/tags/pi-4.md>), [raspberry-pi](<https://devfeed.tech/tags/raspberry-pi.md>), [receiver](<https://devfeed.tech/tags/receiver.md>), [review](<https://devfeed.tech/tags/review.md>), [timing](<https://devfeed.tech/tags/timing.md>)

### AI overview

A review of Uputronics' GPS/RTC Raspberry Pi Expansion Board, tested with the galmon.eu GNSS monitoring project. The board uses a u-blox M8 timing receiver, provides raw GNSS and correlator data, and offers a stable clock signal. The review also covers antenna performance, Raspberry Pi 4 configuration, UART communication, and baud-rate considerations.

### Source excerpt

Hi everyone, Disclaimer: this is a review of a free sample I got sent by Uputronics. I recently spotted on Twitter that Uputronics had launched a GPS/RTS Raspberry Pi Expansion Board, and that they were looking for worthy projects to test it. I thought our Galileo/GPS/BeiDou/GLONASS monitoring project galmon.eu might be worthy and Uputronics agreed. Relevant for our purposes, this is an actual 'timing receiver'. Any GNSS chip will get you a location, but some of them go the extra mile to also deliver a very stable clock signal.

## Using Kotlin's with Scope Function and Receiver Lambdas

DevFeed: [Using Kotlin's with Scope Function and Receiver Lambdas](<https://devfeed.tech/articles/with-the-receiver-in-scope-26030.md>)

Original publisher: [Read original article](<https://elizarov.medium.com/with-the-receiver-in-scope-7b52bdcca6e9?source=rss-4762e889f8fc------2>)

Author: Roman Elizarov

Published: 2020-07-01T14:33:13Z

Content type: tutorial

Language: en

Sources: [Stories by Roman Elizarov on Medium](<https://devfeed.tech/sources/stories-by-roman-elizarov-on-medium.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [Library](<https://devfeed.tech/topics/library.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [context](<https://devfeed.tech/tags/context.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [receiver](<https://devfeed.tech/tags/receiver.md>), [scope-function](<https://devfeed.tech/tags/scope-function.md>), [scopes](<https://devfeed.tech/tags/scopes.md>), [standard-library](<https://devfeed.tech/tags/standard-library.md>)

### AI overview

The article explains how Kotlin's with scope function reduces repetitive object references and groups related initialization in a distinct block. It also introduces extension functions and lambdas with a receiver as ways to access object members without repeating the object's name.

### Source excerpt

Photo by Ben Wicks on UnsplashRepetitio est mater studiorum (Latin, repetition is the mother of all learning). Repetition is great for study, but a bane of software development. Repetitive code is boring and error-prone. Let's look at a hypothetical example inspired by imperative UI frameworks that are still being used a lot nowadays, even though their heyday is past. We might find ourselves having to write code like this: applicationWindow.title = "Just an example" applicationWindow.position = FramePosition.AUTO applicationWindow.content = createContent() applicationWindow.show() Referencing applicationWindow object over and over again is very explicit but it is not pretty. We can make this code better using with scope function from the Kotlin standard library: with(applicationWindow) { // this: ApplicationWindow title = "Just an example" position = FramePosition.AUTO content = createContent() show() } This code now has more lines, but the number of lines is not the key metric you should be looking at when judging the code. The code looks cleaner. It groups all the initialization of the applicationWindow object into a separate, syntactically distinct block. It directly represents the developer's intent to perform all of these actions on applicationWindow together. The block of code inside of with(x) { ... } is easily recognizable by any developer trained in a mainstream object-oriented language -- it is similar to the code you encounter inside a method of the corresponding class where this refers to the method's receiver object and all unqualified references like title refer to this object's properties and methods. In the Kotlin programming language writing a method is not the only way to get access to object members without having to repeat the object's name. Kotlin has support for extension functions that allow us to write a method-like looking code outside of the class body: fun ApplicationWindow.configure() { // this: ApplicationWindow title = ... // no need to

## Galileo Satellite Navigation Network: Status, Monitoring, and Observations from an Outsider

DevFeed: [Galileo Satellite Navigation Network: Status, Monitoring, and Observations from an Outsider](<https://devfeed.tech/articles/the-state-of-galileo-as-seen-by-an-outsider-36547.md>)

Original publisher: [Read original article](<https://berthub.eu/articles/posts/state-of-galileo-and-accident/>)

Published: 2019-11-07T08:47:53Z

Content type: opinion

Language: en

Sources: [Bert Hubert's writings](<https://devfeed.tech/sources/bert-hubert-s-writings.md>)

Topics: [navigation](<https://devfeed.tech/topics/navigation.md>), [Network](<https://devfeed.tech/topics/network.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [gnss](<https://devfeed.tech/tags/gnss.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [network](<https://devfeed.tech/tags/network.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [opinion](<https://devfeed.tech/tags/opinion.md>), [receiver](<https://devfeed.tech/tags/receiver.md>)

### AI overview

An outsider's personal assessment of the EU's Galileo Satellite Navigation Network, covering its operation, the July outage, and efforts to improve public understanding. The article also describes the galmon.eu open source monitoring project, which provides 24/7 coverage of Galileo and other global navigation satellite systems through dashboards and reports.

### Source excerpt

By bert hubert / bert@hubertnet.nl In this post I want to document some mostly non-technical aspects of the EU's Galileo Satellite Navigation Network. I will also share some observations on how things are going, and perhaps how they could be improved. NOTE: A shorter version of this article, focusing only on the July outage, can be found here. Since the week-long outage in July I've been fascinated by Galileo and, together with a wonderful crew of developers, experts and receiver operators, have learned so much about what I now know are called 'Global Navigation Satellite Systems' or GNSS.

## Galileo Notes: Ephemeris, Anomalies, I/NAV, SFRBX

DevFeed: [Galileo Notes: Ephemeris, Anomalies, I/NAV, SFRBX](<https://devfeed.tech/articles/galileo-notes-ephemeris-anomalies-i-nav-sfrbx-36404.md>)

Original publisher: [Read original article](<https://berthub.eu/articles/posts/galileo-notes/>)

Published: 2019-07-30T13:35:10Z

Content type: article

Language: en

Sources: [Bert Hubert's writings](<https://devfeed.tech/sources/bert-hubert-s-writings.md>)

Topics: [navigation](<https://devfeed.tech/topics/navigation.md>), [data](<https://devfeed.tech/topics/data.md>), [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>), [payload](<https://devfeed.tech/topics/payload.md>), [interface](<https://devfeed.tech/topics/interface.md>)

Tags: [gnss](<https://devfeed.tech/tags/gnss.md>), [gps](<https://devfeed.tech/tags/gps.md>), [payload](<https://devfeed.tech/tags/payload.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [receiver](<https://devfeed.tech/tags/receiver.md>), [signal](<https://devfeed.tech/tags/signal.md>), [usb](<https://devfeed.tech/tags/usb.md>), [windows](<https://devfeed.tech/tags/windows.md>), [wine](<https://devfeed.tech/tags/wine.md>)

### AI overview

This article presents working notes on receiving and interpreting data from the EU's Galileo Navigation Satellite System. It covers configuring a u-blox 8 receiver, enabling Galileo and relevant message formats, extracting raw I/NAV data from UBX-RXM-SFRBX messages, and understanding Galileo ephemeris parameters.

### Source excerpt

I've recently been spending quite some time on the EU's Galileo Navigation Satellite System. In this post you'll find some rough notes on things I've found out, both about how to receive data & how to understand the Galileo ephemeris parameters. Feedback is very welcome on bert@hubertnet.nl or @bert_hu_bert! I'm no Galileo specialist, so I am sure this page could be better. Please also let me know if this page has been useful to you.

## with() (scope function)

DevFeed: [with() (scope function)](<https://devfeed.tech/articles/with-scope-function-25030.md>)

Original publisher: [Read original article](<https://typealias.com/concepts/with/>)

Author: author@typealias.com (Dave Leeds)

Published: 2017-09-14T01:00:44Z

Content type: tutorial

Language: en

Sources: [Dave Leeds on Kotlin - typealias.com](<https://devfeed.tech/sources/dave-leeds-on-kotlin-typealias-com.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [guide](<https://devfeed.tech/tags/guide.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-standard-library](<https://devfeed.tech/tags/kotlin-standard-library.md>), [programming](<https://devfeed.tech/tags/programming.md>), [receiver](<https://devfeed.tech/tags/receiver.md>), [scope-function](<https://devfeed.tech/tags/scope-function.md>), [scope-functions](<https://devfeed.tech/tags/scope-functions.md>), [with](<https://devfeed.tech/tags/with.md>)

### AI overview

An overview of Kotlin's with() scope function, including how it accepts a receiver as an argument, makes that receiver available inside a code block, and returns the block's result. It also covers an initialization-and-execution use case and compares with() with related scope functions.

### Source excerpt

Overview The with() function is a scope function found in the Kotlin standard library. Unlike let(), also(), run() with receiver, and apply(), with() is not an extension function, but instead accepts the receiver as an argument. Example val size = with("Hello") { println(this) length } In this example, the string "Hello" is printed, and then its length is assigned to the size variable. Characteristics When the with() extension function executes:

## apply() (scope function)

DevFeed: [apply() (scope function)](<https://devfeed.tech/articles/apply-scope-function-25008.md>)

Original publisher: [Read original article](<https://typealias.com/concepts/apply/>)

Author: author@typealias.com (Dave Leeds)

Published: 2017-09-04T20:06:46Z

Content type: tutorial

Language: en

Sources: [Dave Leeds on Kotlin - typealias.com](<https://devfeed.tech/sources/dave-leeds-on-kotlin-typealias-com.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Library](<https://devfeed.tech/topics/library.md>), [Code](<https://devfeed.tech/topics/code.md>), [Android](<https://devfeed.tech/topics/android.md>)

Tags: [also](<https://devfeed.tech/tags/also.md>), [apply](<https://devfeed.tech/tags/apply.md>), [code](<https://devfeed.tech/tags/code.md>), [extension-function](<https://devfeed.tech/tags/extension-function.md>), [function](<https://devfeed.tech/tags/function.md>), [guide](<https://devfeed.tech/tags/guide.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-standard-library](<https://devfeed.tech/tags/kotlin-standard-library.md>), [let](<https://devfeed.tech/tags/let.md>), [library](<https://devfeed.tech/tags/library.md>), [object](<https://devfeed.tech/tags/object.md>), [overview](<https://devfeed.tech/tags/overview.md>), [programming](<https://devfeed.tech/tags/programming.md>), [receiver](<https://devfeed.tech/tags/receiver.md>), [scope-function](<https://devfeed.tech/tags/scope-function.md>), [scope-functions](<https://devfeed.tech/tags/scope-functions.md>), [standard](<https://devfeed.tech/tags/standard.md>), [standard-library](<https://devfeed.tech/tags/standard-library.md>), [val](<https://devfeed.tech/tags/val.md>), [variable](<https://devfeed.tech/tags/variable.md>)

### AI overview

An overview of Kotlin's apply() scope function, including its receiver and return value, with examples of using it to initialize objects and configure Android code.

### Source excerpt

Overview The apply() function is a commonly-used scope function defined in the Kotlin standard library. It's frequently used for initializing an object after instantiation. Example val size = "Hello".apply { println(this) }.length In this example, the string "Hello" is printed, and then its length is assigned to the size variable. Characteristics When the apply() extension function executes: the receiver object that .apply() is called upon is available as this the result will be the receiver object Initializing an Object It's common to use apply() to initialize an object after it's been created.

## let() (scope function)

DevFeed: [let() (scope function)](<https://devfeed.tech/articles/let-scope-function-25019.md>)

Original publisher: [Read original article](<https://typealias.com/concepts/let/>)

Author: author@typealias.com (Dave Leeds)

Published: 2017-09-04T19:54:18Z

Content type: tutorial

Language: en

Sources: [Dave Leeds on Kotlin - typealias.com](<https://devfeed.tech/sources/dave-leeds-on-kotlin-typealias-com.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Library](<https://devfeed.tech/topics/library.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [extension-function](<https://devfeed.tech/tags/extension-function.md>), [function-reference](<https://devfeed.tech/tags/function-reference.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-standard-library](<https://devfeed.tech/tags/kotlin-standard-library.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [let](<https://devfeed.tech/tags/let.md>), [programming](<https://devfeed.tech/tags/programming.md>), [receiver](<https://devfeed.tech/tags/receiver.md>), [scope](<https://devfeed.tech/tags/scope.md>), [scope-function](<https://devfeed.tech/tags/scope-function.md>), [transformation](<https://devfeed.tech/tags/transformation.md>)

### AI overview

A reference guide to Kotlin's let() scope function. It explains how the receiver object is passed as the lambda argument, how let() returns the code block's result, and how it can transform objects. It also compares let() with direct property or function access, extension functions, and map().

### Source excerpt

Overview The let() function is one of a handful of scope functions defined in the Kotlin standard library. Example val size = "Hello".let { println(it) it.length } In this example, the string "Hello" is printed, and then its length is assigned to the size variable. Characteristics When the let() extension function executes: the receiver object that .let() is called upon is available as the lambda argument - by default, named it the result of let() will be the result of the code block passed to it Transformation The let() method is frequently used to transform an object.

## Scope Functions

DevFeed: [Scope Functions](<https://devfeed.tech/articles/scope-functions-25023.md>)

Original publisher: [Read original article](<https://typealias.com/concepts/scope-functions/>)

Author: author@typealias.com (Dave Leeds)

Published: 2017-09-04T02:33:15Z

Content type: article

Language: en

Sources: [Dave Leeds on Kotlin - typealias.com](<https://devfeed.tech/sources/dave-leeds-on-kotlin-typealias-com.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [also](<https://devfeed.tech/tags/also.md>), [apply](<https://devfeed.tech/tags/apply.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-standard-library](<https://devfeed.tech/tags/kotlin-standard-library.md>), [let](<https://devfeed.tech/tags/let.md>), [library](<https://devfeed.tech/tags/library.md>), [programming](<https://devfeed.tech/tags/programming.md>), [receiver](<https://devfeed.tech/tags/receiver.md>), [run](<https://devfeed.tech/tags/run.md>), [scope](<https://devfeed.tech/tags/scope.md>), [scope-functions](<https://devfeed.tech/tags/scope-functions.md>), [with](<https://devfeed.tech/tags/with.md>)

### AI overview

This article explains Kotlin scope functions: commonly used functions in the Kotlin standard library that place an object in a new scope, including also(), apply(), let(), run(), and with().

### Source excerpt

Scope functions consist of the often-used functions from Standard.kt in the Kotlin standard library that take an object and put it into a new scope, such as this or it. also() apply() let() run() (with receiver) with()

## run() with receiver (scope function)

DevFeed: [run() with receiver (scope function)](<https://devfeed.tech/articles/run-with-receiver-scope-function-25022.md>)

Original publisher: [Read original article](<https://typealias.com/concepts/run-with-receiver/>)

Author: author@typealias.com (Dave Leeds)

Published: 2017-09-03T20:04:25Z

Content type: tutorial

Language: en

Sources: [Dave Leeds on Kotlin - typealias.com](<https://devfeed.tech/sources/dave-leeds-on-kotlin-typealias-com.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [extension-function](<https://devfeed.tech/tags/extension-function.md>), [function](<https://devfeed.tech/tags/function.md>), [http](<https://devfeed.tech/tags/http.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [library](<https://devfeed.tech/tags/library.md>), [programming](<https://devfeed.tech/tags/programming.md>), [receiver](<https://devfeed.tech/tags/receiver.md>), [scope-function](<https://devfeed.tech/tags/scope-function.md>), [scope-functions](<https://devfeed.tech/tags/scope-functions.md>)

### AI overview

This tutorial explains Kotlin's run() extension function, one of the scope functions in the Kotlin standard library. It covers the receiver object, the function's result, and using run() to initialize and execute an object, including an HTTP client example.

### Source excerpt

Overview There are two different run() functions defined in Standard.kt in the Kotlin standard library, among a handful of scope functions that are frequently used in Kotlin programming. This article describes the one that's an extension function. Example val size = "Hello".run { println(this) this.length } In this example, the string "Hello" is printed, and then its length is assigned to the size variable. Characteristics When the run() extension function executes:

## Function Reference

DevFeed: [Function Reference](<https://devfeed.tech/articles/function-reference-25014.md>)

Original publisher: [Read original article](<https://typealias.com/concepts/function-reference/>)

Author: author@typealias.com (Dave Leeds)

Published: 2017-09-01T00:00:00Z

Content type: tutorial

Language: en

Sources: [Dave Leeds on Kotlin - typealias.com](<https://devfeed.tech/sources/dave-leeds-on-kotlin-typealias-com.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [alternatives](<https://devfeed.tech/tags/alternatives.md>), [class](<https://devfeed.tech/tags/class.md>), [function](<https://devfeed.tech/tags/function.md>), [function-reference](<https://devfeed.tech/tags/function-reference.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [programming](<https://devfeed.tech/tags/programming.md>), [receiver](<https://devfeed.tech/tags/receiver.md>), [reference](<https://devfeed.tech/tags/reference.md>)

### AI overview

This Kotlin reference explains how function references work, including assigning, passing, and returning functions. It covers bound and unbound references, top-level and local references, receiver expressions, and alternatives such as lambdas.

### Source excerpt

Overview Kotlin supports the notion of first-class functions - functions can be saved to variables, passed into functions, and returned from functions. When you need to do this, you can create lambdas - function literals - or you can refer to an existing function by means of a function reference. Usage Assigning a function: class Example { fun add(a: Int, b: Int) = a + b val operation = this::add } Passing a function:

## Proxy in JavaScript

DevFeed: [Proxy in JavaScript](<https://devfeed.tech/articles/proxy-in-javascript-26287.md>)

Original publisher: [Read original article](<https://masnun.com/javascript-proxy/>)

Author: masnun

Published: 2017-08-21T01:00:14Z

Content type: tutorial

Language: en

Sources: [Abu Ashraf Masnun](<https://devfeed.tech/sources/abu-ashraf-masnun.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [behavior](<https://devfeed.tech/tags/behavior.md>), [cache](<https://devfeed.tech/tags/cache.md>), [code](<https://devfeed.tech/tags/code.md>), [console](<https://devfeed.tech/tags/console.md>), [function](<https://devfeed.tech/tags/function.md>), [handler](<https://devfeed.tech/tags/handler.md>), [http](<https://devfeed.tech/tags/http.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [object](<https://devfeed.tech/tags/object.md>), [properties](<https://devfeed.tech/tags/properties.md>), [proxy](<https://devfeed.tech/tags/proxy.md>), [receiver](<https://devfeed.tech/tags/receiver.md>)

### AI overview

This tutorial explains how JavaScript Proxy objects intercept operations on a target object through handler methods. It covers property access, method calls, logging, value transformation, and caching responses from external APIs.

### Source excerpt

As we can already guess from the name, a Proxy object works as a "proxy" to another object and allows us to customize the behavior of the said object in certain ways. Let's say you have an obj named awesomeAPI which has some properties and methods. You want to "trap" any calls to the object. May [...] The post Proxy in JavaScript appeared first on Abu Ashraf Masnun.

## Receiving RDS with the RTL-SDR

DevFeed: [Receiving RDS with the RTL-SDR](<https://devfeed.tech/articles/receiving-rds-with-the-rtl-sdr-21642.md>)

Original publisher: [Read original article](<https://www.windytan.com/2015/02/receiving-rds-with-rtl-sdr.html>)

Author: Oona Räisänen (noreply@blogger.com)

Published: 2015-02-08T19:10:00Z

Content type: tutorial

Language: en

Sources: [Oona Räisänen](<https://devfeed.tech/sources/oona-raisanen.md>)

Topics: [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Tool](<https://devfeed.tech/topics/tool.md>), [C](<https://devfeed.tech/topics/c.md>), [Code](<https://devfeed.tech/topics/code.md>), [Linux](<https://devfeed.tech/topics/linux.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [code](<https://devfeed.tech/tags/code.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [development](<https://devfeed.tech/tags/development.md>), [dsp](<https://devfeed.tech/tags/dsp.md>), [fm-radio](<https://devfeed.tech/tags/fm-radio.md>), [linux](<https://devfeed.tech/tags/linux.md>), [perl](<https://devfeed.tech/tags/perl.md>), [receiver](<https://devfeed.tech/tags/receiver.md>), [signal](<https://devfeed.tech/tags/signal.md>), [software](<https://devfeed.tech/tags/software.md>), [tool](<https://devfeed.tech/tags/tool.md>)

### AI overview

This article explains redsea, a command-line RDS decoder that supports RTL-SDR receivers through rtl_fm. It describes the tool's dependencies and operation, including the C99 DSP receiver, signal synchronization, symbol decoding, and subsequent RDS group processing by redsea.pl.

### Source excerpt

redsea is a command-line RDS decoder. I originally wrote it as a script to decode RDS from demultiplexed FM stereo sound. Later I've experimented with other ways to read the bits, and the latest addition is to support the RTL-SDR television receiver via the rtl_fm tool. Redsea is on GitHub. It has minimal dependencies (perl core modules, C standard library, rtl-sdr command-line tools) and has been tested to work on OSX and Linux with good enough FM reception. All test results, ideas, and pull requests are welcome. Update 12/2016: Redsea has seen a lot of development since this post was written; see Redsea 0.7, a lightweight RDS decoder. What it says The program prints out decoded RDS groups, one group per line. Each group will contain a PI code identifying the station plus varying other data, depending on the group type. The below picture explains the types of data you'll probably most often encounter. A more verbose output can be enabled with the -l option (it contains the same information though). The -t option prefixes all groups with an ISO timestamp. How it works The DSP side of my program, named rtl_redsea, is written in C99. It's a synchronous DBPSK receiver that first bandpass filters ① the multiplex signal. A PLL locks onto the 19 kHz stereo pilot tone; its third harmonic (57 kHz) is used to regenerate the RDS subcarrier. Dividing it by 16 also gives us the 1187.5 Hz clock frequency. Phase offsets of these derived signals are adjusted separately. The local 57 kHz carrier is synchronized so that the constellation lines up on the real axis, so we can work on the real part only ②. Biphase symbols are multiplied by the square-wave clock and integrated ③ over a clock period, and then dumped into a delta decoder ④, which outputs the binary data as bit strings into stdout ⑤. Signal quality is estimated a couple of times per second by counting the number of "suspicious" integrated biphase symbols, i.e. symbols with halves of opposite signs. The symbols are being sa

## My chip collection

DevFeed: [My chip collection](<https://devfeed.tech/articles/my-chip-collection-21641.md>)

Original publisher: [Read original article](<https://www.windytan.com/2015/01/my-chip-collection.html>)

Author: Oona Räisänen (noreply@blogger.com)

Published: 2015-01-16T17:54:00Z

Content type: article

Language: en

Sources: [Oona Räisänen](<https://devfeed.tech/sources/oona-raisanen.md>)

Topics: [Microcontroller](<https://devfeed.tech/topics/microcontroller.md>), [Playback](<https://devfeed.tech/topics/playback.md>), [intel](<https://devfeed.tech/topics/intel.md>)

Tags: [collection](<https://devfeed.tech/tags/collection.md>), [electronics](<https://devfeed.tech/tags/electronics.md>), [encoding](<https://devfeed.tech/tags/encoding.md>), [intel](<https://devfeed.tech/tags/intel.md>), [keyboard](<https://devfeed.tech/tags/keyboard.md>), [motor](<https://devfeed.tech/tags/motor.md>), [playback](<https://devfeed.tech/tags/playback.md>), [radio](<https://devfeed.tech/tags/radio.md>), [receiver](<https://devfeed.tech/tags/receiver.md>), [voice](<https://devfeed.tech/tags/voice.md>)

### AI overview

A personal overview of a collection of salvaged vintage integrated circuits, describing chips used in radios, answering machines, telephones, motor control, audio playback, and older devices.

### Source excerpt

Old IC (integrated circuit) packages are fun and I collect them. This involves going to flea markets to look for cheap vintage electronics like telephones, answering machines, radios or toys, and then desoldering and salvaging all the ICs and other interesting parts. Selected packages from my disorganized pile of chips follow. Most are POTS-related. Sony CXA1619BS A "one-chip-wonder", this is an FM/AM radio in a small package. It takes an RF signal (from the antenna) and an IF oscillator frequency as inputs and outputs demodulated monaural audio. Sanyo LA2805 This chip does general answering machine related tasks. It has a tape preamp for recording and playback; voice detector logic; beep detection using zero-crossing comparation; power amplifier; line amplifier; and pins for interfacing with a microcontroller. Unicorn Microelectronics UM91215C The UM91215C is a tone/pulse dialer. A telephone keyboard matrix is connected to the input pins, and the chip outputs DTMF-encoded audio or pulsed digits, depending on the selected dialing mode. An external oscillator needs to be connected as well. It can do a one-key redial of the last dialed number, and it can also flash the phone line. Holtek HT9170 A DTMF receiver, reversing the operation of UM91215C above. The chip, employing filters and zero-crossing detectors, is fed an external oscillator frequency and telephone line audio, and it outputs a four-bit code corresponding to the DTMF digit present in the signal. The use of external components is minimal, but a crystal oscillator is needed in this case as well. SGS-Thomson TDA1154 A speed regulator for DC motors, this chip can keep a motor running at a very stable speed under varying load conditions. In an answering machine, it is needed to keep distortions in tape audio in the minimum. Toshiba TC8835AN This chip can store and play back a total of 16 audio recordings of 512 kilobits in size. It also contains a lot of command logic, explained in a 40-page datasheet. Type of