Welcome to Incremental Social! Learn more about this project here!
Check out lemmyverse to find more communities to join from here!

@dan@upvote.au avatar

dan

@dan@upvote.au

Aussie living in the San Francisco Bay Area.
Coding since 1998.
.NET Foundation member. C# fan
d.sb
Mastodon: @dan

This profile is from a federated server and may be incomplete. Browse more on the original instance.

dan , (edited )
@dan@upvote.au avatar

Other points about the Australian system:

  • The cost of the university course is subsidised by the government. The government pays the majority of the cost, usually around 70-80%. For example, a Bachelor of Computer Science degree at the university I went to (Swinburne) is currently AU$9k/year (~US$5.8k) subsidised vs AU$39k/year (~US$25.4k) full price.
  • The loans for the amount you have to pay are through the government and are interest free. They're indexed for inflation once per year, but this is a much lower increase compared to interest from a bank loan.
  • You only have to pay it off once you earn over $51k/year, like you said. Repayments start at 1% of income and are paid as part of your income tax return.
  • They used to have a program where if you paid $500 or more of the loan upfront, you'd get a 10% discount (so e.g. if you paid $500, it'd reduce your loan balance by $550).

Note that this system only applies to citizens and permanent residents. International students still have to pay the full price. Having said that, Australian universities frequently advertise at college fairs in the USA, as even at the full price plus flights plus accomodation, studying in Australia can still end up cheaper than the USA, and Americans love Australia 🙂

dan ,
@dan@upvote.au avatar

Discord? For Linux communities? Linux communities usually like to stick to non-proprietary solutions.

dan , (edited )
@dan@upvote.au avatar

Vista did a bunch of great things... It added BitLocker drive encryption. It added the Snipping Tool for screenshots. It added a newer driver model that end up making drivers far more reliable than on Windows 9x and XP. It required drivers to be signed, which helps a lot with security. It added UAC, which was initially painful but also really helped improve security (no more running every single process with admin permissions). It moved C:\Documents and Settings\ to C:\Users so we didn't have to type that long path any more. And probably a bunch of others I'm forgetting

It was kinda half-baked at the time, but these are all major defining features of Windows. It just took a while for them to become stable.

dan ,
@dan@upvote.au avatar

If the USA didn't have such a complicated tax system, with companies like Intuit lobbying to keep it that way so they still make money, this wouldn't be an issue.

A lot of countries automatically fill out your entire income tax return for you, and send it to you to verify it. If it's all good, you just need to accept it. Less than five minutes work.

dan ,
@dan@upvote.au avatar

Not sure about business since I've never had to deal with business tax returns.

dan ,
@dan@upvote.au avatar

And that organization - the IRS - won’t tell you the information they have. They want you to guess and tell them what you have, so they can tell you if you got it right or not.

This really needs to be fixed.

In Australia, the stuff the government knows about you gets prefilled in the tax return form. Not as good as other countries where the entire thing is completed for you, but better than the USA. The form is significantly shorter than the US one.

dan ,
@dan@upvote.au avatar

One of my favourite naming schemes is MikroTik's. CRS312-4C+8XG-RM looks like a mess initially, but it's very logical. The features of the product are literally in its name:

  • CRS Cloud Router Switch (product name)
  • 3rd generation
  • 12 ports total
  • 4C+ = 4x combo (RJ45 and SFP+) 10Gbps ports
  • 8XG = 8x 10Gbps RJ45 ports (XG = multi gigabit)
  • RM = rack mountable
dan , (edited )
@dan@upvote.au avatar

I've got three monitors at work: Two Dell monitors arranged horizontally, and a Samsung that's vertical.

The Dells are U3219Q. U for UltraSharp (product name), 32 for 32 inch, and a little bit extra to differentiate it from other UltraSharp 32 inch models. Nice. (edit: apparently 19 means the model year, i.e. 2019 for this one)

The Samsung is a LF32TU874VNXGO. Just... what? Samsung why do you do this to us?

dan , (edited )
@dan@upvote.au avatar

I don't see it a lot with consumer electronics. Most other network switches I've dealt with don't have as useful names as MikroTik's.

TP-Link have a switch called the TL-SX3016F. Sure, you can guess that the 16 means 16 ports, but there's no discernable info other than that. Netgear have names like XS716T which are also meaningless other than the 16. D-link have DGS-1510-20 which is similar (20 ports).

dan ,
@dan@upvote.au avatar

The “other little bit” is the year - 19 means model year 2019.

Wow - This is very useful to know. Thanks! I've got a U4021QW at home, and a friend just bought a newer version of it (U4025QW).

dan ,
@dan@upvote.au avatar

Honestly I'm just using mine as a basic switch at the moment. It was the cheapest 12-port 10GBase-T switch I could find at the time I bought it, but all the extra features in their OS are a nice bonus.

dan ,
@dan@upvote.au avatar

My wife used Mint Mobile from 2018 until 2022 and really liked it. We moved in 2022 and unfortunately our new place had very poor T-Mobile coverage so we had to switch, otherwise we'd still be using them. She switched to US Mobile which give you a choice of using T-Mobile or Verizon.

They're QCI 7 rather than QCI 6 though, which basically means they're considered lower priority on the T-Mobile network. If there's congestion (not enough network bandwidth for everyone that wants to use it), customers on QCI 6 are given priority. Every MVNO except for Google Fi is QCI 7, while Google Fi and most plans directly through T-Mobile are QCI 6.

dan ,
@dan@upvote.au avatar

I miss when custom ROMs were easier. Practically every phone with Windows Mobile supported custom ROMs. I tried a lot of custom Windows Mobile 5.0, 6.0 and 6.5 ROMs back in the day. It was pretty straightforward on older Android, too.

These days, it seems like so many phones are locked down, for example with a locked bootloader. It's so dumb. If I paid for my phone, I should be able to do whatever I want with it. Why even some tech-savvy people are comfortable with being limited in terms of what they can do with their expensive devices, I'll never know.

dan ,
@dan@upvote.au avatar

will download and decompile the Powertools

PowerToys is open-source, so no need to decompile. https://github.com/microsoft/PowerToys.

This is the code that determines which processes are holding on to the specified files (or any files in the specified folders): https://github.com/microsoft/PowerToys/blob/a89f9f69768ace73de21dbf6020bd7fa2460bf4a/src/modules/FileLocksmith/FileLocksmithLibInterop/FileLocksmith.cpp#L18

Called from the UI code here: https://github.com/microsoft/PowerToys/blob/a89f9f69768ace73de21dbf6020bd7fa2460bf4a/src/modules/FileLocksmith/FileLocksmithUI/ViewModels/MainViewModel.cs#L112 which also has the code to kill the processes

dan ,
@dan@upvote.au avatar

Most configs should be in the roaming directory, since you'd usually expect them to roam between computers on a domain. The local directory is only for stuff that doesn't make sense to sync to other computers - things like caches, configs specific to that individual PC, etc.

Not that it matters for home users, as home users generally aren't using Active Directory with roaming profiles.

dan ,
@dan@upvote.au avatar

Still the case today... Not every Linux app complies with XDG.

dan ,
@dan@upvote.au avatar

HKEY means "handle to registry key"... Not that that helps anything.

When code opens a file, device, etc, it's given a "handle" to it, which is an internal reference so that Windows knows which file you're reading or writing, and it keeps track of where you are in the document. Similarly, HKEY_CURRENT_USER is the handle that gives you the current user part of the registry.

dan ,
@dan@upvote.au avatar

there is no difference between a program and an app

Yeah the naming is confusing. The reason is what you said - machine vs app.

Back on Windows 9x, some apps would store files directly in the C:\Program Files directory. This was 'fine' at the time since every app ran with full permissions. Users were at C:\Windows\Users, but users were optional so not every install used it.

Windows XP had a better NT-based permission model (not nearly as improved as Vista, but better than 9x) and allowing regular users to write to the Program Files and Windows folders wasn't really a good idea. It added two directories for settings:

  • C:\Documents and Settings\username\Application Data for user-specific data
  • C:\Documents and Settings\All Users\Application Data for non-user-specific data

Vista kept the former but moved the latter to C:\ProgramData. I can't remember why.

Windows 7 moved the user stuff to C:\Users.

dan ,
@dan@upvote.au avatar

It's HKEY (handle to key), not HOTKEY. That's what I was trying to say in my comment. There's no "HOTKEY".

dan ,
@dan@upvote.au avatar

Yeah both runit and sysvinit are supported, but packages are no longer required to include sysvinit scripts, so there's no guarantee that all software will work. Most have kept their sysvinit script though.

The main issue will be that systemd does a lot of stuff, so you'd have to install replacements for everything else it does - like a syslog daemon for logging, ntp client for clock syncing, DNS resolver, etc.

dan ,
@dan@upvote.au avatar

The PHP Gtk bindings used to be built-in to PHP as one of the standard extensions. I think they split it out at some point.

I found this site with a few apps built using it: https://cweiske.de/phpgtk_apps.htm

dan , (edited )
@dan@upvote.au avatar

Of course Apple collect data. The reason they wanted to prevent other apps from collecting data was so only they can use their data, and their ad network could have an advantage over the others.

Yes, they have an ad network, and want to significantly expand it:

dan ,
@dan@upvote.au avatar

one point registration for multiple communities,

Federation, or at least some form of single sign-on with arbitrary providers (like we used to do with OpenID), is a better way of solving this.

dan ,
@dan@upvote.au avatar

I genuinely don't understand why some open source communities rely so heavily on Discord.

dan ,
@dan@upvote.au avatar

now to begin the slow search for another private community for the friend group to very slowly migrate to.

Just don't pick another proprietary platform again.

dan , (edited )
@dan@upvote.au avatar

In order to make it into a Discord or Zoom competitor you would need to solve far higher bandwidth things like HD video and low latency audio, and both of thouse are fundamentally very different things for a server to handle as compared to high latency short text messages.

A large number of Discord servers just use text.

For video, maybe integrate into something that already exists, like Jitsi? Instead of trying to build one single app that handles everything, maybe it would be nice to have a suite of apps that all work together and can all use the same login.

A lot of video conferencing systems are already mostly peer-to-peer, at least for enterprise apps. Skype was originally peer-to-peer too. NAT traversal is usually provided by STUN servers. There's some issues like that (for example it reveals the user's IP addresses) but you could proxy everything through a TURN server to solve that.

Peer to peer is the best way to implement end-to-end encrypted communication.

Having said that, very large groups can benefit from a client-server model, like what Zoom does.

dan ,
@dan@upvote.au avatar

I've never tried Matrix but I've heard good things about it.

dan ,
@dan@upvote.au avatar

Thanks! I'll have to see if there's Docker containers available. Ansible is definitely doable too, but I prefer Docker. I'll stick it on the same server I'm running Lemmy and Mastodon on :)

dan , (edited )
@dan@upvote.au avatar

most people are on discord

There's a lot of people on Discord (around 200 million monthly active users) but it's still the smallest out of all the major messaging services that support group chats. For example, Telegram has over double the number of users, and WhatsApp has 10x the users.

For open source projects in particular, something that integrates with Github and Gitlab login (like Gitter which is now powered by Matrix) is a better choice, as developers are practically guaranteed to have one of those accounts.

dan ,
@dan@upvote.au avatar

Ahh... Interesting!

Do you know how much RAM it needs? I have a spare VPS with 9GB RAM - is that sufficient? I could run it in a VM on my home server instead, too.

dan , (edited )
@dan@upvote.au avatar

Just tried out that playbook to set up a staging server, and it works pretty well.

I feel like it's a bit too magical though. I like knowing how all the software I'm using is installed and configured, and introducing another layer of abstraction makes that harder. I have particular ways things like my web server (Nginx), database servers, Let's Encrypt (certbot), etc are configured and want to keep things that way. I think I'll just use the Ansible playbook for the staging server, and set up the real server using the Docker containers directly, based on documentation from the upstream projects (Synapse, etc)

It looks like they have both Docker containers and Debian packages avaliable, so I'll have to see if it's worth using the Debian packages instead.

dan ,
@dan@upvote.au avatar

I want to keep using self-signed certs (my server is only reachable internally and I do not want to expose it to the internet). And the new server they use (I forgot which) didn't really have that option.

If you have your own domain name, you can get Let's Encrypt certificates for internal servers by using DNS challenges instead of HTTP challenges. I use subdomains like whatever.int.example.com for my internal systems.

Of course, it's possible that the Ansible playbook doesn't support that...

Thanks for the note about Python and the Debian packages. That's a good point. I'll definitely use the Docker containers.

Looking for the Perfect USB Flash Drive

I've been using some cheap flash drives for things like installing OSs and the like, but now I've picked up a Dell Wyse 3040 system to play with which only has 8gb of storage. So I'm installing the OS onto a flash drive permanently (don't worry, just for messing with, nothing of value will be lost if/when the drive craps out)....

dan ,
@dan@upvote.au avatar

You won't see much of a difference between SATA and NVMe (if at all) as the maximum speed for SATA (6Gbps) is higher than the maximum speed for USB 3.0 and USB 3.1 Gen1 (5Gbps).

dan ,
@dan@upvote.au avatar

Do you have a spare SATA SSD? This is my go-to USB cable for connecting SATA SSDs via USB: https://a.co/d/dQ5QXR1. Works well on Raspberry Pi and it'd work well on a thin client too.

Note that the Wyse systems don't have much CPU power as they're designed to be used as thin clients (where nothing runs on the system other than remote desktop connecting to a server somewhere). That's why they have so little space - they were never designed to run a full OS.

dan , (edited )
@dan@upvote.au avatar

You likely won't notice much of a difference between SATA and NVMe when using the drive via USB, and many people have spare SATA SSDs, so I'd just grab a USB to 2.5" SATA cable: https://a.co/d/dQ5QXR1. You don't need an enclosure because the drive itself is already an enclosure.

dan ,
@dan@upvote.au avatar

Up to you... $20 isn't much and StarTech is a trusted brand, so it was worth it for me. I don't trust the cheap generic brands on Amazon as much.

dan ,
@dan@upvote.au avatar

Nah you just need to use a provider that has an SMS API like Vonage, Telnyx, Twilio, etc. Many of them support replies too, so you can have something like "Reply with Y to RSVP"

SMS isn't too popular any more but it seems like a decent fit for a use case like this, as it effectively gives you nearly real-time push notifications without requiring everyone to install an app.

dan ,
@dan@upvote.au avatar

you can help other users by adding the missing albums to MusicBrainz.

There's also userscripts to automate a lot of the process of importing data from Discogs into Musicbrainz. There's lots of niche/rare albums that are on Discogs but not on Musicbrainz.

dan ,
@dan@upvote.au avatar

A rooted phone doesn't have to give superuser access to every app.

Sure, but apps that run as superuser can access anything, including the data and memory for banking apps. A big part of Android's security model is that each app runs as a different user and can't touch data that's exclusively owned by another user.

dan ,
@dan@upvote.au avatar

People like you or I may know what we're doing with a rooted device, but I think the issue for the banks is that they can't guarantee that someone with a rooted phone knows what they're doing or isn't using a malicious app, so they have to be cautious and block all rooted phones.

An app that requires root may look like a normal app but it could be a trojan that modifies banking apps in the background (eg patches them on disk or in RAM so transfers done through the app go to a different recipient). There's been malicious apps in the Play Store in the past, and rooted apps have way less oversight - some are literally just APK files attached to XDA-Developers posts or random blog sites.

dan ,
@dan@upvote.au avatar

This is a good point. The bank needs to do as much as they can to reduce fraud risk, and they've probably found some correlation between rooted phones and a higher likelihood of fraudulent transactions. Some banks block VPNs for a similar reason - when logging in from a VPN, it's harder for them to tell that it's actually you vs if it's an attacker that uses the same VPN service as you.

dan ,
@dan@upvote.au avatar

Somehow I don't think the DMV (or equivalent) would receive the same amount of traffic.

dan ,
@dan@upvote.au avatar

Nah I'm sure the Raspberry Pi sitting in a manager's desk drawer is a totally sufficient server. His nephew that's "good at the computers" even said so!

dan ,
@dan@upvote.au avatar

The Home Assistant developers rejected a pull request that added OpenID Connect support (https://github.com/home-assistant/core/pull/32926) and have not expressed any interest in it, so I don't think we're ever getting it. :/

dan ,
@dan@upvote.au avatar

The abbreviation for Firefox is "Fx", not "FF". :)

dan ,
@dan@upvote.au avatar

Most monitors and graphics cards support only 8-bit (per color).

Plenty of monitors support 10 bit colour. You need higher than 8 bit for any colour spaces larger than sRGB, such as DCI-P3 or Adobe RGB, and most good monitors support higher than 100% sRGB coverage.

Out of all the colours that humans can perceive, sRGB covers around 35% of them, DCI-P3 covers around 52%, and Rec 2020 (which is 11 or 12 bit) covers around 75%. Colours look more vibrant when using DCI-P3 or Rec 2020 because there's literally more colours available.

dan ,
@dan@upvote.au avatar

This is a good point. I know the WSL team were doing some optimizations to improve the performance of iperf3 in WSL, but I haven't tested it.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • incremental_games
  • meta
  • All magazines