proomt

Search

Search posts, papers, and topics

All posts

CodeName OneShai Almog4 min readintermediate

A Polyline Is Not a Route

Summary

Codename One adds a portable routing API (com.codename1.maps.routing) that separates route discovery from map rendering, offering a simple two‑line `showRoute` helper and a full callback‑based flow for custom UI, multiple alternatives, waypoints, and encoded polylines. The default service uses OSRM (no API key), but the design lets you plug any provider or self‑hosted engine via a `RouteService`…

  • Routing is now a first‑class, provider‑agnostic model in Codename One, distinct from the map surface.
  • Two convenience levels: `Routing.showRoute` for quick display, and `Routing.findRoute` with a `RouteCallback` for full control (styling, ETA, alternatives).
  • Default `OsrmRouteService` works out‑of‑the‑box (no API key) but is not production‑grade; self‑hosted OSRM or custom `RouteService` implementations are encouraged for reliability and custom constraints.
  • The model exposes distance (meters), duration (seconds), bounds, legs, steps, and encoded polylines (precision 5/6).

Provides a clean abstraction for road routing across mobile platforms, enabling developers to integrate reliable navigation data without coupling to a specific map renderer or provider. This reduces boilerplate, improves testability, and opens the path for custom routing constraints (e.g., truck he…

6/10

Related reading

  1. VoIP, VPN, and the Build System Behind Them

    Codename One’s new builder pipeline can automatically generate the native plumbing required for VoIP call integration, managed VPN profiles, and packet‑tunnel extensions on iOS and Android. By inspecting which Java packages an app imports, the builder adds the necessary frameworks, entitlements, services, and even a separate signed Network Extension for iOS, letting developers keep their signalin…

    CodeName Onecodenameone.com10 min
  2. Replica-aware routing public beta

    Replica‑aware routing (public beta) lets ClickHouse Cloud users pin a query stream to a specific replica by sending a custom header (HTTP) or overriding the TLS SNI (native). The proxy (Envoy) hashes the tag and consistently forwards all requests with the same tag to that replica, giving read‑after‑write consistency for temporary tables, session objects, and warm replica caches. Stickiness is bes…

    ClickHouseclickhouse.com6 min
  3. Understand the top paths users take to convert or drop off with Journey Paths

    Datadog’s Journey Paths visualizes the most common sequences users follow through a defined flow, letting you rank converted vs. dropped‑off paths, spot detours or dead ends, and drill into the underlying user segments with Conversion Analysis, Session Replay, and RUM. It’s a UI‑level feature that augments funnel percentages with concrete path data, but the post offers no implementation details o…

    Datadogdatadoghq.com4 min
  4. Article: Your Next DSL Author Is a Language Model

    Typed Domain Grounding (TDG) embeds a DSL inside a mainstream language the LLM already knows (e.g., Kotlin) and uses the host compiler as an oracle. The author describes five building blocks—embedding, choosing a host language with high training‑data frequency, compiler‑driven type safety, a generate‑compile‑repair loop, and an on‑demand teaching tool—and shows measured results from kUML, a Kotli…

    InfoQinfoq.com18 min
  5. App Hardening: One Obfuscation Pipeline Across Every Port

    Codename One adds a cloud‑side hardening step that runs on the merged JAR before it is split into Android, iOS, JavaScript, and desktop binaries. It can rename symbols, encrypt string literals, and insert opaque‑predicate control‑flow guards at configurable levels (off → standard → aggressive → paranoid). The transforms are selective per platform to avoid breaking optimizers, and a mapping is kep…

    CodeName Onecodenameone.com6 min