HNHacker News
TopNewBestAskShowJobs

janaagaard

391 karma · joined August 1, 2013

[ my public key: https://keybase.io/janaagaard; my proof: https://keybase.io/janaagaard/sigs/_mcwf0p5bAVDE-S-kwVvlnBi74NFDwMTfub21HZgvIo ]
submissionscomments
janaagaard··on Show HN: FTWA – Turn any website into an app
I also could not figure out the difference between FTWA and Safari's "Add to Dock..."? Is FTWA an equivalent meant for other platforms like Windows?
janaagaard··on Sanding UI
> This is so lost in Agile.

My personal experience is that you have to blame the people and not the method.

I would define my current project as very agile in the sense that we only have details plan for what to do a week ahead at the time. Each week the team has an hour long meeting where we present what we have done, and discuss if it's good enough. If something like a hover region is found to be wrong it will get fixed for next week. If you find this issue while working on something else, you make task and PR and just fix these smalls things. I feel like this way of working is what what meant by the people who invented the idea of making software development agile.

janaagaard··on Bug squash: An underrated interview question
I agree. The best interview experience that I had was to be sat in front of a small app that had lots issues, both big and small, and also a lot an not-really-issues-but-still like inconsistent code styles and names, and code comments and code that weren't aligned. This was a great starting point for both me and the interviewer. The interviewer had a list of things to ask into about the code, so that we didn't get stuck.
janaagaard··on The human typewriter, or why optimizing for typing is short-sighted
I believe 'var' was introduced in C# to make it much easier to work with LINQ, where you can easily return a subset of properties - without var you would have had to declare interfaces. I think ReSharper is responsible for the rapid proliferation of using var everywhere.
janaagaard··on Don't use 7-segment displays (2011) [pdf]
Upside down 7-segment display in Futurama: https://youtu.be/1Q8E4hls_Zg?si=q5nMASH4PGgvEkHN
janaagaard··on Product Hunt Upvotes Are Worthless: Real Customers Aren't There
> Launching there does not make sense anymore.

Just curious, but did it ever make sense to launch on Product Hunt? I would assume that the claim that "most users on Product Hunt are developers, designers, or founders" has always been true.

janaagaard··on Tesla Releases Results of 2024 Annual Meeting of Stockholders
I should probably look this up somewhere on the net, but here goes anyway: What was the basis for Elon not receiving his stock award?

As I understand it, he and the stock holders made an agreement some years ago, that entitled Elon to a certain amount depending on how the stock performed. It turns out the stock performed really well, entitling Elon him to a really, really big bonus. I get that this is somewhat weird given that people are being fired and that Tesla is currently not able to sell their cars at the same rate as they are being produced. But is this enough to withhold the bonus? Are there some aspects of the agreement that Elon did not adhere to? From my point of view it looks like Elon was simply able to make a really good deal with the shareholders.

janaagaard··on Don't DRY Your Code Prematurely
Don't use DRY but WET: Write Everything Twice. :o)

In practice: The second time you implement something, start out by copy-pasting the first implementation. Once you're done with the second version, figure out if and how to abstract the two implementations.

janaagaard··on Curl is just the hobby
The difference between PUT and POST is weather the command is idempotent or not.

Some APIs us PUT for creating items and let the clients specify the ID. If the IDs are UUIDs, the risk of creating duplicates is so slim that it's neglectable, and if that should happen, it's easy for the client to call again with a different ID. The real advantage of this approach is that if the API call times out, the client can just PUT again without having to fear creating a duplicate record. Recovering from a create with POST that has timed out can be pretty difficult because it can happen that the record was created just fine, but the internet connection died before the OK response reached the client.

janaagaard··on Apple to wind down electric car effort after decadelong odyssey
I hope this means that CarPlay gets some more focus, because I would like a CarPlay integration where everything I have configured in a car is stored in a profile on my phone. This is what I imagine: When I get into a car, I just have to connect my phone, and the seat automatically adjusts, the radio has my favorite stations configured, and the UI is set up as I prefer it. When I find myself in a car model that I haven't driven before, the phone is able to make a good guess of how to configure things based on my setup in other cars.
janaagaard··on The day I canceled my Spotify subscription
> But you don't actually do that on Spotify. As the article correctly points out, your subscription fee doesn't go to the artists you listen to, it goes to the artists played on Spotify as a whole.

But doesn’t that even out?

Napkin calculations: There are 10 subscribers to Spotify, each paying 10 dollars/month, and everything goes 100% to the artist. 9 of them only listen to Taylor Swift and 1 only to Metallica.

If the subscriptions would go directly to the bands you listen to, Metallica would receive 10 dollars from the one listener.

But the subscriptions are distributed based on the percentage of listeners, meaning that the Metallica fan is only giving 1 dollar to their favorite band. But this percentage is also payed by the 9 Taylor fans, so they also pay 1 dollar. In the end Metallica receives 10 dollars per month.

What am I missing here?

janaagaard··on Apple confirms it's breaking iPhone web apps in the EU on purpose
> It's a rational choice.

Yes, I agree here. To me, this feels like the cookie legislation all over again, in the sense that the end result was a lot of annoying cookie banners instead of websites stopping the usage of cookies. And yes, I know that answering 'no' in these banners reduces the amount of cookies used, but I am seeing more and more websites where things like videos don't work unless you accept cookies.

janaagaard··on Apple confirms it's breaking iPhone web apps in the EU on purpose
> In the meantime current solution could stay simply because it does not hinder any competition.

As I understand it, this is specifically not allowed by the DMA, since it would be considered an unfair advantage to Safari, if that browser/engine was the only one allowed to run PWAs.

janaagaard··on Apple announces changes to iOS, Safari, and the App Store in the European Union
It's my understanding that iOS is generally considered a more secure alternative than Android, and that part of this is the app review process, that is part of the App Store. So isn't there at least some truth in that opening this up will create a less secure environment?
janaagaard··on Tell HN: Apple would not approve how invasive Apple Music is were it 3rd-party
I went back to Spotify because I find the playlist there a lot better. I only tried Apple Music for a couple of months, when the service was released, so things could easily have changed.
janaagaard··on Show HN: Watermelon – copilot for code review
The homepage (https://github.com/marketplace/watermelon-context) states that Watermelon supports "C, C#, C++ and 7 other languages", but I can't figure out what these other languages are. Has anyone found this info? Is TypeScript a supported language?
janaagaard··on TanStack Query(a.k.a. React Query) v5 announced
First: Realize that React Query isn't a library for fetching data, but a library for caching the fetched data. So think about how you will be invalidating that cache. For us, the rule of thumb was that each fetch to the API should have it's own cache key in React Query.

Second: The data in cached in React Query is effectively globally available, so it comes with all the benefits and pitfalls that globals have. We use Storybook and do not use React Query in the components that have stories, so React Query is only used in the root components of the app.

janaagaard··on Ask HN: How to do literal web searches after Google destroyed the “ ” feature?
Working fine for me with Danish as my primary language. But I think that I mostly search for English content, so unsure how your experience will be.

But could you not just pay for a month and try it? I don’t think their plans bind you for a longer than a month.

janaagaard··on Cheetah: A Lightweight Virtual Machine Manager for macOS
This page mentions x86_64. Does this mean that I can choose Windows as the guest OS?

https://macspot.net/features.html

janaagaard··on I don’t buy “duplication is cheaper than the wrong abstraction” (2021)
> My understanding of the “duplication is cheaper than the wrong abstraction” idea, based on Sandi Metz’s post about it, is as follows. When a programmer refactors a piece of code to be less duplicative, that programmer replaces the duplicative code with a new, non-duplicative abstraction.

I think one of the main takeways from Sandi Metz's quote is that you should postpone creating the abstraction until after you have the duplicated code. Sometimes you will remove the duplication when you have just two implementations, sometimes you will want many more. Once you have the repeated code it's relatively easy to make the right abstraction.

janaagaard··on New study measures grammatical complexity of languages
Why are there more than one dot in the big countries like The United States, Brazil and Australia? I would have expected a single dot for each of these countries.
janaagaard··on Show HN: Strich – Barcode scanning for web apps
Do you still need to grant the web page access to the camera on every page load on iOS, or have you found a workaround for this?
janaagaard··on Why Tailwind CSS Won
> there's nothing cleaner and more maintainable than avoiding CSS frameworks

My experience is that this is only true your CSS is written by a one man army.

janaagaard··on When an app asks for permissions, it should have a “feed fake data” option
I'm sorry, but I really don't hope this catches on. Fair that you don't want to share your data, and yeah, a Flashlight app should not need access to list of contacts, but please don't mess it up the data for us developers.

Example: We use information about the devices that access our web site (screen resolution, browser versions) to figure out how best spend our limited resources. This data is important to us.

janaagaard··on Intel One Mono Typeface
If you are only indenting the start of your lines (and not inside the lines), a proportional font is actually completely unproblematic.
janaagaard··on Intel One Mono Typeface
I am still looking for a proportional font where I can clearly distinguish to single quotes from a double quote, and distinguish a single quote followed by a double quote from the double followed by a single. Do you have some suggestions?
janaagaard··on FTX stored private keys to crypto assets in plaintext, without access controls
> Every bank check lists the bank account number, which serves as the only information needed for a party to issue a request to withdraw money from that account.

Just here point out that the issue is that it's enough to have the bank account number to issue a request to withdraw money from that account, and not that the bank accounts numbers are listed.

janaagaard··on TypeScript 5.0
One downside to having a version 4.10 is that some sorting algorithms put this release between 4.1 and 4.2 and not after 4.9.

But yeah, they should just go ahead and follow semver from now on.

janaagaard··on Modern SPAs without bundlers, CDNs, or Node.js
What’s the benefit of the custom download-package script over npm install? Why would you want to roll a custom solution here?
janaagaard··on User IDs probably shouldn't be passed around as ints (2018)
I think is goes a long way to always use lang names for ID properties. So always call it userId, companyId etc. instead of simply id everywhere.
← PreviousPage 2 of 5Next →