Hacker Newsnew | past | comments | ask | show | jobs | submit | just_for_you's commentslogin

I actually used raw GDI+ for the GUI of an app recently. My personal requirement was that the executable had to be completely stand-alone and only a few KB in size. GDI+ helped fit the bill for creating a simple GUI and eliminating dependencies on large frameworks, so that it could easily be copied around and guaranteed to work everywhere.

Wouldn't use raw GDI+ for any UI of moderate complexity, but it was perfect for the ghetto app I made myself.


I could only imagine what kind of imprinting something like TikTok can do to a developing mind, especially if that person lacks any kind of healthy role models in their real lives.

Personally I'm glad that that the hyper-availability of information was something I experienced only after I became an adult, so I'm able to be more aware of how influential the firehouse of information and manipulation by algorithms can be.


The Unreal Engine 4 code, when it first went open-ish source. I was blown away by how huge it was, but yet, how clean and modular everything was.


>I don't even see what the Kindle value prop is

One reason I'm stuck with Kindles is because Amazon makes it sane to look up words when reading Japanese books and articles.

When you use Amazon's "Send to my Kindle" service (eg, you email a book to yourself, and then it appears on your device), Amazon seems to do some kind of de-conjugation which magically knows how to break-apart terms and grammar so that you can easily look anything up. Normally, if uploading straight to your device, or if using a Kobo, a term you want to look up has to match your on-device dictionary exactly, which is clunky and awful, especially since Japanese doesn't use spaces and has lots of inflections.

If Kobo had something similar, I'd ditch using Kindles entirely.


As someone whose first language isn't English - 100000x times this. The fact that I can just hold down on any word and instantly see its definition is just incredible. It's a must have feature of any e-reader for me.


Kobos have this feature


Didn't know that! Can you upload custom dictionaries to them? That was my only gripe with how Kindles do it - they support this feature in some languages but not others.


Yeah it's possible but it's not an official feature (it's not hard though).


What are you talking about? It's built right into the Kobo reader, and has been for years. https://help.kobo.com/hc/en-us/articles/360017639893-Define-...


The dictionary is a built-in official feature and includes options in few different languages but CUSTOM dictionaries are not. It's possible to add dictionaries beyond what Kobo includes but it takes a little bit of work.


I missed the "custom". Sorry about that.


It seems to be a limited selection of languages (EN, DE, ES, FR, IT, PT, TR, SE, JP on my Kobo), with both EN-XX and XX-XX available for most languages. It doesn't look like you can add your own, at least not on my kobo.


If you use Koreader then yes there are hundreds of dictionaries you can put.


I went from disliking Edge, to liking it, and then slowly disliking it again as they added bloat to it.

What turned me off from it was when I lost a year's worth of (unimportant) bookmarks and history. One day I opened it up and it decided to kindly sign me in automatically (probably detected I was signed into an MS site in-browser), and it wanted to automatically sync all my history, auto-fill info and passwords to Microsoft's sync servers. I immediately disconnected my account to stop this, and then it deleted my Edge profile afterwards as a further courtesy.

I understand that these two behaviors are probably Features, but I don't like the feeling of losing control of my software. And now these features like MSFT Rewards, coupon services, credit card services, and the "Bing Bar" (or whatever you call it) are just too much for me. Not to mention every PC I use Edge on tends to assault my eyes with political propaganda since Edge's New Tab page defaults to biased news outlets.


Same here.

Like alcohol, drugs and smoking, endless streaming media is just something I don't touch. I know there's an insane amount of good content to watch out there, but I'm content with not knowing what it's like diving into that rabbit hole.


Can't echo this enough.

I've been railroaded into using Facebook 2 or 3 times by friends, family and even my SO, and my experience each and every time was a soulless one like yours. It was just a non-stop stream of people and their friends reposting shallow things they found on the Internet, inspirational quotes, and political garbage. And if people did comment, they were just brief quips - probably just enough effort to try to manipulate others to like+comment back on their own content.

Email and phone's all I need. If people can't put in the effort to remember or catch up with me, even if it's just every few months, then they're not my friend.


There are a lot of people on this thread complaining about the privacy implications of Facebook and how Mark Zuckerberg is evil. While I don't disagree with those sentiments, it's not really why I avoid Facebook. I still use a lot of things that have similar problems like Google or Reddit.

One of the most sinister things about Facebook to me is that it creates the illusion that you are close with friends or relatives when you're really mostly watching a superficial view of peoples' lives in a passive, voyeuristic way. Comments and likes make you feel connected, but they are not meaningful interaction.

When I first deleted my account and stopped using Facebook, I felt initially a lot lonelier. But was I? After more time went by, I became convinced it was all too superficial.

Interestingly, who I spent time with shifted toward other people who were either not on Facebook at all or were very unengaged with it personally (for example, one friend only uses it to promote his business).

My only partial regret with any of this is that the pandemic really scrambled this. Almost all of my friends were purely people I saw in person, with no online component to our friendship. That all got paused in 2020, and has been very hard to get back to the same level since.


> I've been railroaded into using Facebook 2 or 3 times by friends, family and even my SO

Just out of curiosity, as long as you don't mind: what was the reason (or which feature, actually) they asked you to use Facebook in those cases? I haven't needed it in 5 or 6 years and nobody I know really uses it (or nobody admits), but that might be due to my location (Germany), so I'm a bit curious what's it still good for!


The first time I used it, it was family members wanting to connect with me, and the old "everyone uses it!" argument (the same one applied to MySpace back in the day). So I made an account, commented on stuff, posted pics of my cat, but ended up deleting my account after a few months because nobody was really "connecting" with each other, plus I found friends-of-friends' posts boring.

Second time was from some new friends I had made, who argued that exchanging phone numbers and emails were old-fashioned and awkward when meeting new people, and that it was essential to have Facebook since it's easier to just say "you can just look for me on Facebook; you'll know it's me since I have XYZ in my profile pic". I saw some validity to the argument, since recently I had met and got along with a couple cute girls on a train ride, but regretted not exchanging contact details with the two of them because asking for numbers/emails felt like a slight overreach. Though if I had a FB account at the time, I thought it'd have made sense if I could've just been able to casually say something like "look up John Smith on FB if you wanna hang out sometime. See ya!".

Third time was my then-SO. She posted on Facebook a LOT, and had many hundreds of followers. She begged me to make an account for months, so I could bask in all the content she posted.

Anyway, your experience with people not using Facebook sounds on-par. Facebook is increasingly considered a "boomer" technology, especially by the younger generations. Many younger folk these days tend to keep in touch via small Discord groups, or whatever dopamine-drip privacy-nightmare app of the week is.


Gotcha! Thanks for taking the time to answer.

Interestingly I also met some cute girls and a friendly guy in a train recently and they tried to exchange Instagram handles with me. I just asked for WhatsApp and we created a little group (but then again, Germany).

I guess a SO being there would actually make me use it. I did have a Twitch account for a while because of someone I dated....... (Curiously I haven't admitted this even to my therapist, lol). On the other hand, it's Facebook so I'd probably troll them and ask for printouts of the posts.

About the boomer thing, interestingly I never really had close family using it. But everyone under 25 I know denies having it like it's some kinda plague. The ones over 25 claim they forgot their password.


Question: If you use the FreeBSD Ports collection for the services you run, how do you deal with Ports' quarterly releases? One reason I haven't used FreeBSD much is because of the fear of doing bulk updates every 90 days, and having to fix random things that might break due to software upgrades.

For a home server I have no problem with this, but if it's something I want to leave in production and have security updates for, I'm more at-ease using Debian or Ubuntu with their 3- and 5-years' worth of support.

Is there something I'm missing about using FreeBSD in production, or is anything outside of the base system just supposed to be more hands-on?


FreeBSD has two repositories of packages, quarterly and latest.

    $ cat /usr/local/etc/pkg/repos/FreeBSD.conf
    FreeBSD: { enabled: no } # disable the default config
    FreeBSD-latest: {
    url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest",
    #url: "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly",
    mirror_type: "srv",
    signature_type: "fingerprints",
    fingerprints: "/usr/share/keys/pkg",
    enabled: yes
    }


I'm aware of the Latest branch, but its shorter release cycle would be even less-suited for production usage (for people who are into Very Serious Business™).

I was talking about Quarterly since it seems to the most stable way to get packages not in the base system.


Ports are rolling release. Simply run 'portsnap fetch update' and you'll have the latest available in /usr/ports just one 'portmaster -a' (upgrade) away.

Same goes for packages (pkg), they are rolling release.

No idea where you're getting this 90 days release stuff from :) (Perhaps there's a LTS 'release' for ports? I don't think many people use it if there is. Trust me, you're safe enough with rolling ports).


See the following. There's a 'latest' branch and a 'quarterly' branch.

https://wiki.freebsd.org/Ports/QuarterlyBranch https://pkg.freebsd.org/FreeBSD:13:amd64/ https://svnweb.freebsd.org/ports/branches/

That said, I don't have any problems with rolling-release. I've ran stuff like openSUSE Tumbleweed for years, and back in my dabbling days, plenty of Gentoo and Arch.

My issue is that for non-personal and longer-term deployments, FreeBSD has never been a contender for me because of having to keep on top of Ports upgrades. For example for a project at work, I wouldn't want to return to a FreeBSD deployment months later to add a feature, and then have to update all my packages on that system.

I understand chances are the upgrades would likely be hitch-free, or would only require a little bit of fixing around, but I still really don't want to hold my breath every 3 months.


As a young SWE interested in IT (which is how I got interested in programming in the first place, was doing sysadmin things as a teenager like running an IRC leaf), older IT wizards told me to never mix ports and packages. And furthermore, not to use ports as they lead to fundamental breakages.


https://www.freebsd.org/security/#sup

  Under the current support model, each major version’s stable branch
  is explicitly supported for 5 years, while each individual point release
  is only supported for three months after the next point release.
You've got plenty of time for support. These days I only use FreeBSD for homelab stuff but… yeah you can go two ways really. Portsnap + rebuilding your packages to track updates or track an official package server that gets regular updates. Because I don't have to scale this shit out the setup I ended up with was to point pkg(8) at a varnish instance that queries a "latest" repo, and then the jails hit the varnish instance.

Unlike some debian-ish distros I don't think there's any security-update-only repo for ports/packages to track. Meanwhile freebsd-update(8) handles security updates for the base system.


Yeah, I love FreeBSD's base system's release model. It feels like a complete system, and each release is supported for a long time.

Same with systems like Ports, and in particular, NetBSD's pkgsrc. I've personally been using pkgsrc on my MacBook (and sometimes on Linux too) for years, and have really enjoyed using it as a cross-platform system to add my own little packages that'll work across macOS/Linux/NetBSD (I use NetBSD on my Pi). And I have no problems doing upgrades every 3 months, since I want my shiny new software.

So I definitely see and appreciate Ports/pkgsrc's benefits - but I still feel uneasy using stuff like FreeBSD+Ports on non-personal projects, like for projects at work.


Until pkg(8) came around ports were one of my least favorite parts of FreeBSD. I like(d) pkgsrc even less.

Part of it was the simplistic support for binary packages that felt entirely like an unwanted afterthought. Compile everything from source just doesn't scale especially if you want to use complex, slow-to-compile projects like gcc or firefox.

The other part is that make(1) is SLOW and simply does not scale to the size of something like the ports tree. It's also a bit tedious to use out of your ports tree and the documentation was kinda meh. There were a number of hacks layered on top that sort of eased the pain (I want to say portupgrade?, I never got into portmaster) but always felt really brittle and things were always getting out of sync. Even pkg(8) is a bit funky (and I don't particularly like the reliance on srv records no matter how elegant a solution it may seem).

> I still feel uneasy using stuff like FreeBSD+Ports on non-personal projects, like for projects at work.

I would never use ports in a production environment without some detailed justification. The binary packages are the way to go. Building your own ports (as in your own software not building your own copy of an existing port) is also a bit of a trial by fire thing involving a lot of hair pulling. Dunno what the update quarterly stuff is about tho, I run pkg update weekly to keep on top of things – but I track the latest repo not the quarterly one.

Honestly one of the few things I miss about Linux is the Debian package ecosystem. But as I learned with fink on OSX it's not just the infrastructure that matters.


>pkg

pkg-ng is indeed a godsend, and I think I just got PTSD thinking about what Ports management was like before it. Currently getting flashbacks to the salad of utilities I used to use from ports-mgmt/.

>make

Yes, the Makefile infrastructure for both Ports/pkgsrc is clunky and slow, and the documentation is also terrible too. Took quite a bit of suffering to learn the dark art of properly authoring packages in pkgsrc.

For what it's worth, there's also the Gentoo Prefix project, but I haven't ever been able to use it because the bootstrap for it has failed every time I tried it on macOS or Linux.

At least for pkgsrc using it is as simple as: $ git clone https://github.com/netbsd/pkgsrc --depth 1 $ cd ~/pkgsrc/bootstrap && ./bootstrap --unprivileged $ cd ~/pkgsrc/misc/tmux && ~/pkg/bin/bmake install $ ~/pkg/bin/tmux

As flawed and janky as pkgsrc is, it has at least worked consistently for me on macOS/Linux for years.

>compiling from source

Yeah, I agree. Compiling everything from source and using it in production is for insane people. Should have clarified that when I said "Ports/pkgsrc", I meant using official binary pacakges, and not necessarily building from source.

>latest and quarterly

The point of quarterly releases is to serve as a base for stable package versions, backported security fixes, and as a chance to fix package runtime/compilation issues before being generally available - something harder to do if you track bleeding-edge packages, where things can shift under people's feet.

It's also useful when building from source, like I do with pkgsrc for macOS, because lots of random things will break if there's too large of a rift between what's installed and what's in bleeding-edge pkgsrc. In these cases, you'd usually have to do mass rebuilds, and/or deal with dependency hell (eg, pkg X you have installed needs need <=libsomething-1336, but pkg Y in pkgsrc needs >=libsomething-1337).

I use the packages installed via pkgsrc pretty much daily on my MacBook, and it'd be really annoying having things possibly breaking after an update just a week apart, especially if I'm in a rush and need to get something done for work. So using a quarterly branch is useful, since it's a cadence I can stomach, and there's a higher likelihood that the devs had more time to polish the packages in that release.

>Fink

Never heard of this before. I'll give it a gander sometime soon.


Were it my responsibility I wouldn't worry too much about using FreeBSD binary packages in production. The way ports are set up, typically you'd have to go out of your way to install a bleeding edge version of something. If you're relying on something (e.g. ruby, python) with a bunch of commonly used versions you can alias the default to your preferred version. This may make audit compliance more difficult but not by much (especially considering how laborious compliance is anyhow).

At this point my biggest qualms about FreeBSD in production aren't really around the ports themselves but more around how much stuff has become Linux only (e.g. dockerify everything).

At megacorp we had to use an old version of CentOS (ugh) and the whole "keep updating ancient versions of third party software" thing came with plenty of caveats and frustrations. Regardless of the operating system it's not an approach I'd recommend.

Edit: Fink is the OSX port of dpkg more or less.


I cannot say much with any confidence because I started revisiting FreeBSD after a long (like 15 years! :) ) absence. However, from what I see there are ways to mitigate issues that might occur. For example, doing a ZFS snapshot before doing a package update can be one thing to do. I think if you have a cluster of machines, doing a canary update with the option to rollback sounds like something that would ease the mind. I think also the tooling will allow you to control any bulk updating. This is in fact what I was starting to play with today - new port updates are available, how do I do selective updates? It's possible, but some reading of the handbook and/or man pages will get to that answer probably.


That's due to Photoshop embedding a variant of the PSD format within the TIFF file, inside its own private TIFF tag.

I'd argue that's even worse than just using PSD by itself. If you open a PSD-inside-TIFF file in an image editor that doesn't recognize that PSD data or which discards unknown TIFF tags when saving, you'll end up having the PSD data getting stripped simply by saving.

Another problem is there might be a mismatch between the TIFF raster data and the embedded PSD document attached. For example someone could open the file in a PSD-unaware editor, make changes, and save the file only making changes to the TIFF raster data. Then later, when someone opens the file in Photshop, they won't see the changes because Photoshop ignored the newer TIFF raster data and used the older, embedded PSD document within it instead.


Every JPEG 2000 encoder I've seen encapsulates the JP2K data in an MOV/MP4-like format (or if one likes using many syllables, technically the ISO Base Media File Format). Even when using Motion JPEG 2000 image sequences embedded as frames in an MP4 video file, each separate JP2K frame includes the MP4-like container as you would see if the stand-alone JP2K file was sitting on-disk.

Anyway, it is indeed cool that you can encode JPEG-LS, Lossless JPEG and friends in the exact same format as you see baseline JPEG images in - but just in different application segments! (eg, baseline=SOF0/SOF1 segment, Lossless JPEG=SOF3, JPEG-LS=SOF48, etc.).


Consider applying for YC's Summer 2026 batch! Applications are open till May 4

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

Search: