Hacker Newsnew | past | comments | ask | show | jobs | submit | logbiscuitswave's favoriteslogin

Kudos to the author, literally everything you need to build your own is nicely organized and documented on GitHub: https://github.com/FundamentalFrequency

The tool for deal with this is https://include-what-you-use.org/

The idea is that each file (source or header) should include exactly those headers from which it uses things. In practice, it gets a bit more complicated has you don't want to include internal implementation headers and sometimes the same thing does not even have a canonical public header but IWUY does allow you to configure all that to your liking.


I thought this was fairly well known with respect to the defaults customizations. There is a repo here: https://macos-defaults.com/#-what-s-a-defaults-command

...but it is missing a lot of them, which are scattered across the internet. Some others worth checking out are aggregated here:

https://gist.github.com/romanhaa/9804183f242991007b316a59c4b...


I'm still learning C#, but I think it is just awesome.

You can build for:

  - Linux (x64, arm) - even raspberry works fine
  - Windows (x64, arm)
  - MacOS (x64, arm)
The only thing I'm missing atm is BSD, although it might work with Mono, it is not officially targeted. More: https://docs.microsoft.com/en-us/dotnet/core/rid-catalog

Some libraries / frameworks I came across that are definetely worth checking out:

- https://github.com/gnaeus/OperationResult - Rust style error handling for .net

- https://github.com/Tyrrrz/CliFx - Command Line Parser library

- https://github.com/Tyrrrz/CliWrap - Shell exec for c#

- https://github.com/Zeugma440/atldotnet - Audio tagging

- https://avaloniaui.net/ - Cross Plattform UI (WPF Style)

- https://github.com/quozd/awesome-dotnet - Other awesome stuff

- VS Code and JetBrains Rider - alternative IDE for c# development


Fwiw there's enough intermingling between how the head unit (infotainment) operates wrt to the CAN bus that your car is essentially online.

https://github.com/sgayou/subaru-starlink-research/blob/mast...


For anyone else needing to tackle something like this, its definitely worth checking out Binwalk [1]. It is meant for extracting firmware but it works decently well on most files-in-files type data formats.

[1] https://github.com/ReFirmLabs/binwalk


Related posts, where experts rate the accuracy of emojis:

- Entomologist rates ant emojis: https://www.boredpanda.com/entomologist-rates-ant-emojis/

- Which emoji scissors close: https://wh0.github.io/2020/01/02/scissors.html

- A thread of rating every horse emoji: https://twitter.com/jelenawoehr/status/1191872816372600832

- Ranking the "Ringed Planet" emojis: https://twitter.com/physicsJ/status/1232662211438370817

- Reviewing Steam Loco Emojis: https://twitter.com/BisTheFairy/status/1192557730709622790

- Talk about Telescope emojis: https://mobile.twitter.com/BeckePhysics/status/1233414553607...

- Would you survive a skydive with an emoji parachute? (my own post): https://darekkay.com/blog/parachute-emoji/


For more of these daily annoyances: https://grumpy.website

The growing user hostility of UIs makes me want to stop developing software and even stop using computers. I started using computers because they made more sense to me than a lot of things. Now, I'm encountering these little moments of illogic and unreason every hour of the day.

It's not just beginners who need little cues. I'm deeply familiar with the APIs behind many of these monstrosities and yet I still find myself annoyed or momentarily confused by UIs that minimize, obscure, and hide in the name of Design.


> At a previous company, there was an “infamous” commit in our main repository. The commit was about 10 years old, and it replaced every tab with 4 spaces.

If have commits like this, add the ids to a file `ignorerevs`, and then tell git about it:

   git config --local blame.ignoreRevsFile ignorerevs
Then at least `git blame` will still give useful results. (This is a relatively new git feature, added a year or two ago.)

The two apps I have used in the past have been O&O ShutUp10[1] and SharpApp[2].

1: https://www.oo-software.com/en/shutup10

2: https://github.com/builtbybel/sharpapp


Apple's chat.db has an esoteric schema owing to the fact they never designed it from the ground up and instead kept adding new columns and tables with each macOS release. This makes their queries super complicated with multiple joins.

Once you have the schema figured out, it's dead easy to build a third-party client that works better than the official one. Even search works great with a simple LIKE query but Apple re-indexes all messages leading to your CPU going over 1000%: https://twitter.com/KrauseFx/status/1396433852126670852

Source: I built a third-party desktop client for iMessage at https://texts.com and reverse engineered the complete sqlite structure.



I tend to use .drawio.png extension and then collaborate inside the repo in real-time using vscode live share (https://visualstudio.microsoft.com/services/live-share/) and the drawio extension together (https://marketplace.visualstudio.com/items?itemName=hediet.v...)

Then, in markdown/readmes use ![](./relative/file/path.darwio.png).

It will render locally, and in GitHub, and also if you use remark or something like that, it will still render as an image.


https://doctoratlantis.medium.com/how-to-restore-the-borders...

https://www.robinhobo.com/how-to-fix-the-borderless-window-p...

...and then of course you have the dummies like this who probably caused these idiotic trends:

https://forum.level1techs.com/t/is-it-possible-to-get-rid-of...

The real problem is the lack of configurability. You could change the window border width to anywhere from invisible to some insanely huge number on the older versions of Windows, and everyone would be happy. Now you're forced to use whatever some stupid "designer"'s idea is.


You can play with Xenix on 8086 here: https://www.pcjs.org/software/pcx86/sys/unix/sco/xenix/086/2...

Click in the window and hit <enter> when you see the word "Boot".


… here’s a vid where you can see a live playback of both versions simultaneously. Yeah, the voices are as cringe as I remember. The music is lacking. Melodrama. It’s just bad. https://youtu.be/Tsmt29AJBaE

[edit] even that video doesn’t quite get the best score. They’re playing EGA with no soundcard at all. Here’s the game with an AdLib / SoundBlaster score, hardware standards that were just catching on when Loom was being developed. https://youtu.be/qxoRHAY3CM0

And here’s the Roland MT-32, the card that everyone knew was the best, and no 13 year old could possibly afford. THAT’S the premium experience. https://youtu.be/SVYI2logmXs

((It’s all Tchaikovsky, by the way))


Off topic, but thanks Wolfram for creating Golden Layout. I've developed two major platforms using it, and it's been hugely beneficial to the systems I've built.

I'd recommend searching HN for threads about learning reverse engineering. Here are a few that I've found:

Reverse Engineering Course: https://news.ycombinator.com/item?id=22061842

Reverse Engineering For Beginners: https://news.ycombinator.com/item?id=21640669

Introduction to reverse engineering for beginners: https://news.ycombinator.com/item?id=16104958


This is useful but sometimes whats called 'Music Theory' is actually more like 'Music Notation' or 'Music Naming Conventions' and thats what most of this site is. IMHO for historical reasons the western naming conventions we've come up with for the 12 semitones (A, A#/B♭, B, C, C#/D♭, D, D#/E♭, E, F, F#/G♭, G, G#/A♭) actually obscure the underlying relationships between the notes rather then elucidating them. The same conventions get carried across to sheet music, where the overriding concern historically seemed to be saving ink rather than clarity.

The real 'theory' boils down to why the pattern of the major and minor scales is the pattern that it is (which is the same question as 'why are the black/white keys on the piano arranged that way?'). And the related question of why are there 12 of them in the octave.

And that underlying theory is much better explained in this page that was posted to HN some years ago:

'How Music Works'

https://www.lightnote.co/

Previous discussion: https://news.ycombinator.com/item?id=12792063 (2016)

Also see 'Music Theory for Nerds' https://news.ycombinator.com/item?id=12528144 (2016)


https://tobyrush.com/theorypages/

Here's a very useful collection of infographics on music theory.


the bits are cpu instructions that you can analyze the data flow to revert the instructions into c++ code, either manually or assisted with a decompiler.

https://en.wikipedia.org/wiki/Decompiler

https://en.wikipedia.org/wiki/Ghidra

https://ghidra-sre.org/


You can play ALAC (Apple Lossless Audio Codec) on your iDevices. If you have a Mac, the free XLD will convert FLAC to ALAC for you.

https://tmkk.undo.jp/xld/index_e.html


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: