← Înapoi la Urmăritori

Cel mai recent articol

Ultima verificare

Urmăritori 0 urmăritori
Articole: 61
  1. Joining AMI to work on World Models

    In June this year I joined AMI Labs, a company trying to develop the next generation of AI models that go beyond the limits of the LLMs and image/video-gen models that are ubiquitous today.

  2. Golden Literal Testing in uTest 0.9.0

    uTest is a small unit testing library I maintain that aims for simplicity and convenience.

  3. 12 years of the com.lihaoyi Scala Platform

    The com.lihaoyi platform is an ecosystem of Scala tools and libraries that allow you to write Scala in a way that is easy, rather than powerful.

  4. This blog post discusses the introduction of the ScalaSql query library.

  5. Mill is a Scala build tool that offers an alternative to the venerable SBT toolchain.

  6. Python has a reputation as "Executable Pseudocode": code that fits just as easily on a whiteboard during a discussion, as it does in a codebase deploying to production.

  7. Last year I wrote and self-published my first technical book Hands-on Scala Programming.

  8. Reflecting on Four Years at Databricks

    Today marks my 4th year anniversary at my current employer, Databricks.

  9. This is a short blog post to introduce the new com-lihaoyi Github organization: a place for all of my most production-ready projects will live to be easily maintained and discovered.

  10. From First Principles: Why Scala?

    Scala, first appearing in 2004, is neither an old stalwart nor a new player in the programming language market.

  11. Message-based Parallelism with Actors

    This blog post is a chapter 16 excerpt from the book Hands-on Scala Programming class SimpleUploadActor()(implicit cc: castor.Context) extends castor.SimpleActor[String]{ def run(msg: String) = { val res = requests.post("https://httpbin.org/post", d…

  12. The Death of Hype: What's Next for Scala

    A recent tweet by a friend of mine noted how the public interest in the Scala programming language seems to have plateaued or waned, which matches my feeling of the latest trends and zeitgeist.

  13. The latest version of my open source libraries have standardized on two new interfaces - Writable and Readable - that allow efficient streaming data exchange between libraries.

  14. Beyond Liskov: Type Safe Equality in Scala

    The Scala language, following its Java heritage, allows you to compare any two values for equality regardless of their respective types.

  15. How an Optimizing Compiler Works

    Optimizing compilers are a mainstay of modern software: allowing a programmer to write code in a language that makes sense to them, while transforming it into a form that makes sense for the underlying hardware to run efficiently.

  16. Most modern systems are backed by relational databases.

  17. Scraping Websites using Scala and Jsoup

    Not every website exposes their data through a JSON API: in many cases the HTML page shown to users is all you get.

  18. Simple Web and Api Servers with Scala

    Web and API servers are the backbone of internet systems: they provide the basic interface for computers to interact over a network, especially at the boundary between different companies and organizations.

  19. One strength of Scala is implementing programming languages.

  20. The Scala programming language comes with a Futures API.

  21. How to create Build Pipelines in Scala

    Build pipelines are a common pattern, where you have files and assets you want to process but want to do so efficiently and incrementally.

  22. How to work with JSON in Scala

    JSON is one of the most common data interchange formats: a human-readable way of exchanging structured data that is ubiquitous throughout industry.

  23. How to work with HTTP JSON APIs in Scala

    JSON HTTP APIs have become the standard for any organization exposing parts of their system publicly for external developers to work with.

  24. How to work with Subprocesses in Scala

    Most complex systems are made of multiple processes: often the tool you need is not easily usable as a library within your program, but can be easily started as a subprocess to accomplish the task you need it to do.

  25. How to work with Files in Scala

    Working with files and the filesystem is one of the most common things you do when programming.

  26. Pretty-printing hierarchical data into a human-readable form is a common thing to do.

  27. The latest version 0.7 of the uPickle Scala serialization library lets you easily serialize your Scala values to the binary MessagePack format, in addition to the existing JSON serialization format.

  28. This blog post introduces Fastparse 2, a new major version of the FastParse parser-combinator library for Scala.

  29. The Visitor Pattern is one of the most mis-understood of the classic design patterns.

  30. How To Drive Change as a Software Engineer

    You have an idea.

  31. uJson is a new JSON library for the Scala programming language.

  32. Mill: Better Scala Builds

    Mill is a new build tool for Scala: it compiles your Scala code, packages it, runs it, and caches things to avoid doing unnecessary work.

  33. Build Tools as Pure Functional Programs

    The term "build tool" is used to describe a host of different pieces of software, each with their own features, uses and complexity.

  34. So, what's wrong with SBT?

    SBT is the default build tool for the Scala programming community: you can build Scala using other tools, but the vast majority of the community uses SBT.

  35. FastParse 1.0: Past, Present & Future

    Fastparse is a Scala library for parsing strings and bytes into structured data.

  36. uTest is a testing framework for the Scala programming language. uTest aims to be both simple and convenient to use, to allow you to focus on what's most important: your tests and your code.

  37. How to conduct a good Programming Interview

    Any software engineer who has ever looked for a job has had the interview experience: being locked in a small room for an hour, asked to write code to solve some arbitrary programming task, while being grilled by one or two interviewers whether or why the…

  38. One oft-repeated fact is that in the Scala language, immutable Vectors are implemented using a 32-way trees.

  39. Principles of Automated Testing

    Automated testing is a core part of writing reliable software; there's only so much you can test manually, and there's no way you can test things as thoroughly or as conscientiously as a machine.

  40. Scala Scripting: Getting to 1.0

    Ammonite: Scala Scripting is an open-source project that lets you use the Scala programming language for "scripting" purposes: as an interactive REPL, small scripts, or a systems shell.

  41. Warts of the Scala Programming Language

    Scala is my current favorite general-purpose programming language.

  42. Re-imagining the Online Code Explorer

    Platforms like Github, Bitbucket, and Phabricator all provide ways of browsing and searching your project's source code online, as part of their larger suite of collaboration features.

  43. What's Functional Programming All About?

    There are many descriptions floating around the internet, trying to explain functional programming in simple terms.

  44. Implicit Design Patterns in Scala

    Apart from the old design patterns from the 1990s, the Scala programming language in 2016 has a whole new set of design patterns that apply to it.

  45. Old Design Patterns in Scala

    A Design Pattern is something you do over and over when building software, but isn't concrete enough to be made into a helper method, class or other abstraction.

  46. Benchmarking Scala Collections

    This post will dive into the runtime characteristics of the Scala collections library, from an empirical point of view.

  47. Easy Parsing with Parser Combinators

    Parsing structured text into data structures has always been a pain.

  48. Three years ago, I downloaded the nascent Scala.js compiler and tried to use it on a toy project.

  49. The Scala programming language has traditionally been a tool used for building "serious business" systems: compilers, big data, distributed systems or large web applications.

  50. Everyone is used to programs printing out output in a terminal that scrolls as new text appears, but that's not all your can do: your program can color your text, move the cursor up, down, left or right, or clear portions of the screen if you are going to…