HN user

niho

107 karma

I help people and organizations think more clearly and creatively about technology. My work combines philosophy, systems thinking, and strategic design.

https://niklasholmgren.com/

Posts12
Comments35
View on HN

Many in this community already know the value of framing — thanks to thinkers like Paul Graham, or through direct startup experience. This essay builds on that idea, but pushes it further.

It asks: What if framing isn’t just the first step of building, but a kind of building in itself? What if ideas — when clarified — are a form of infrastructure?

I’ve spent years working at the intersection of engineering, strategy, and design. I’m now formalizing that practice under a new project called The Philosopher-Maker, where I write and consult around the idea that strategic clarity is a creative act, not just a prelude to one.

This first essay is an attempt to articulate that position — especially in a time when AI is reshaping what it means to execute, and when thinking well is arguably becoming the last real moat.

It’s not a manifesto. It’s a serious, long-form essay for people who care about the structure of ideas, not just the speed of shipping. If that sounds like you, I’d love your thoughts.

SEEKING WORK | REMOTE

I’m looking for freelance work doing functional programming. I have long and deep experience with Elm, Erlang and Swift. Can also do C, Ruby and Haskell.

I’m located in Stockholm, Sweden and have worked in many different industries ranging from music, fintech, healthtech, logistics, edtech, etc. Prefer remote work. Very flexible with types and size of projects, as well as pricing.

niklas@niklasholmgren.com

Yeah. Lol. So I’m going to be talking my code? Will be super popular in the office.

“Hey Siri! Put that statement in an if-clause. …no, not that one. The other one. Argh!!!”

throws the $3499 vision across the room

The thing that amazed me the most with the presentation was that they never showed typing on a virtual keyboard. It seems like you need an actual physical keyboard to do any typing.

The keyboard was famously considered a make it or break it feature internally at Apple when developing the original iPhone. It is very telling that they haven’t managed to solve this basic HCI problem for the Vision. Steve Jobs would never have released this. I’m sad to say it, but this is not a “Pro” device. It’s a Prototype device.

Apple Vision Prototype

(And I’m sorry, but the eyes are creepy —- uncanny valley)

No, you are misinterpreting what the law is saying. The purpose of the law is to protect from the collection of data points (height, age, political opinions, etc.) about individuals. Sure, a private message between two individuals can contain such information in a way that can be associated with a specific individual. If Facebook would scan all private messages for such data and store it in unencrypted form, then yes, they would violate GDPR. But a simple text message between two individuals does not by default violate GDPR.

A very important aspect of GDPR is a consideration for the purpose of the processing of data. If your company is providing an international messaging service in order to harvest sensitive personal data from private messages, then yes that is very much illegal. But if the purpose is simply to provide a messaging service and you are taking the appropriate steps to secure the data of your users, then it is not illegal.

I tried to create a Twitter account for my new startup a couple of days ago. Wanted a business account to promote my app and get feedback from users. But it was simply impossible. The signup didn’t work. I gave up and went with Instagram instead. Much better experience. And I’ve already spent a big pot of money there on ads. Very happy with it.

Musk is such a looser.

SEEKING WORK | REMOTE/PART-TIME/FULL-TIME

Location: Sweden

Remote: yes

Willing to relocate: no

Mobile and app development (Swift, ObjC, C/C++, iOS, watchOS, macOS, etc)

Design work. Typography. Interface design. Information architecture. Product design.

Web (html/css/js/node/rails/elm).

Backend. Erlang. Haskell. Kotlin. Java. Ruby. C. Typescript.

Have built almost everything over the years. From low level, high performance, scalable stuff, to user friendly and highly successful mobile apps and web apps. Part of founding team of a number of successful startups.

EXPERTISE Sportstech Fintech Insuretech Medtech Media/streaming Compilers Distributed systems

20+ years of experience. Fairly low rates for what you get (negotiable). Mostly looking for part time remote work.

https://github.com/niho https://niklasholmgren.com/

Improved error messages is great. But one area specifically that is in desperate need of some love is the type errors from Dialyzer. They are rarely helpful to identify what is actually wrong in the code. Typically the error message will point to something several layers up or down in the call stack and prints out a huge blob of unreadable and unhelpful type signatures. Most of the time the best you can do is to simply compile and run the system to figure out what is wrong with the types. The obscurity of the type errors remind me of C++ template errors.

Art schools that teach you visual art and craft is a thing. So I don’t see why it would be impossible to teach the art of building software. We just need to change our methods.

I often think about why/how medieval artists couldn't quite grasp how to depict depth in their paintings (as a lateral thinking technique).

The explanation for that is generally agreed on to have more to do with the aesthetics of early Christianity influencing Medieval practices, more than changes to human perception (source: I have a masters degree in Art History).

Ada was the first language I learned at university back in 2003 (I had previously taught myself C/C++, Assembler and VB). It had a huge impact on me and influenced my entire career and how I approach software engineering. These days languages like Erlang and Haskell are carrying on some of the ideas (modularity, type safety, concurrency, etc.) in more modern incarnations. But there is still something special about Ada.

Using curly braces or parentheses to signify blocks of code is the trivial and natural way to implement a parser for a programming language. Doing anything else requires a conscious design decision and some effort and extra complexity. The C philosophy is to avoid complexity in the implementation in favor of a slightly more verbose language. The Haskell (ML) philosophy is the exact opposite. These design decisions have been cargo culted by later languages.

Parsing a language like Haskell that does not use any parentheses and curly braces is slightly harder than a typical C like language (or Lisp for that matter). Haskell syntax is indentation sensitive, which require the parser to keep track of the indentation when parsing.

Journal does not imply peer reviewed. The word originates from Latin and simply means "daily". I.e. a periodical publication. An academic journal can be peer reviewed but that's not always the case.

There are very good reasons that aluminum is the best option for a mobile phone, rather than titanium. The most important is environmental. Aluminum is more abundant than titanium, it is easier and friendlier to extract/process. It can be recycled (very important!) and it is cheaper. Aluminum also has much better technical qualities. It is much lighter weight and easier to machine. It is softer, which means the casing will absorb most of the force from an impact when you drop your phone. And as others have pointed out; your screen or battery will break long before the structural casing. I have personally never been bothered with scratches on the casing of my iPhone. I'm much more worried about the overall environmental impact of the device.

Vue.js is basically just a js object wrapping a DOM node. It's claiming to be the equivalent to a full fledged MVC framework (or similar). But it only supplies the V and completely ignores the C and M. Leaving it up to you to invent your own framework on top of it. The parts that Vue.js do supply are not well thought out (Vuex is a nightmare). The parts that do work and are nice are simply straight out copied from other frameworks like Angular. When you give an average developer Vue.js as the only tool you end up with the same kind of code you get when trying to write a complex SPA with jquery: a Single-Pile-of-shit-App.

I have been required to use Vue.js in a current project (a semi complex app with lots of forms). It's the perfect way for clueless js fanboys to write unmaintainable spaghetti code. It's nothing less than a poorly designed view layer with no kind of architecture or tooling. It's naive and harmful (because of the way it is being marketed). It's a hobby project by someone that think they know what they are doing, but are really just mindlessly copying features that sound cool from real projects without understanding the underlying complexities or real world challanges. I've worked on large code bases on many different projects, both front-end and backend, with many different frameworks and architectures (including most of the popular js frameworks). Vue.js is the single most stupid and pointless "application framework" I have ever used.

This is very anachronistic and factually untrue. Design has only been a commercialized and institutionalized occupation for the later part of the modern era. Before then the roles were reversed. Art before then was always the heavily institutionalized and rigid practice. An artist studio during the renaissance was more akin to a factory with highly educated staff churning out stylized and "functional" artwork for church and state. This all changed in the 18th and 19th centuries when the artist became more associated with bohemian life and the mode of production and the art market changed (became more privatized and merchantilism expanded). Design and architecture on the other hand changed from something that lowly "craftsmen" and random educated people engaged in on a hobby basis into a regulated industry. This processes got crystallized with the ideals of modernism and functionalism in the early 20th century. Ideas which prevail to this day.

Thank you for the great and extensive feedback! We will make sure to fix as many of the things you mentioned as possible in the next minor update to the app. Most are actually usability problem. It is in fact possible to access followers and who's following and so on. It's just not immediately obvious how I guess. Downloads for offline listening is available if you long-press on a story in the feed and then tap "Download". Not very user friendly. We're working on a better solution.

We've actually reached out to Gimlet to get their thoughts on the app. But haven't heard back from them yet.

For now yes. We're a startup and thus have limited resources and need to focus our efforts. We are going to nail the user experience on iPhone before moving to other platforms.

The comparison with Reddit was mostly referring to the community curated feed of trending stories. I'm not sure what a Reddit plugin is (I'm not a regular Reddit user myself). But I agree with you that a big part of Reddit is the web interface and we are actually working on a web app to complement the mobile experience.

We crawl and index freely available RSS/Atom feeds that podcasters publish. Technically (and legally) it's not much different from how Google crawls your blog. We don't currently host any content ourselves. But have plans to introduce a caching and transcoding layer to be able to guarantee a consistent user experience and low latency streaming. Which is hard to do when you don't host the content yourself or have any control over the coding of the files that is streaming.

Hi everyone! The maker (and CEO) of Wave here. Would love to hear your thoughts and feedback on the app.

We're a seed funded start-up from Stockholm, Sweden with a background from Spotify and Beats Music among other things. We have been working on this for almost a year now. Our goal is to make the podcast experience more social and build the best platform for discovery and listening possible. We have a ton of cool features lined up waiting to be released in the coming months. But we're starting small with a very focused and simple app.