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

That was interesting. I was hoping for him to dive deeper into specific cases but I suppose the essay was long enough. Any other recommendations (potentially from https://www.gnu.org/philosophy/essays-and-articles.html#Laws)?


A friend showed me usb adapters from usb-c to lightning and I found that very helpful for usb-c -> micro as well to charge the kindle.


unfortunately it's not much different carrying an adapter around than carrying the cable; but I'll have a look at options, thanks


I have a single USB-C to USB-C cable for travel that has a permanently attached USB-A adapter on one side, and lightning and micro adapters (also attached) on the other end. Not as slick as just USB-C, but it’s a single cable that does power and data, along with a single USB-C brick, and since it does data it works in any rental car as well. Check them out!


just to be clear its a small piece like this https://www.amazon.com/Adapter-Adaptor-Charger-Extender-Sams... which I feel like is much easier to bring around than another cable, but I can see how it's annoying to have another dongle


Any specific highlight from Bogdan? Nothing jumped out from a quick skim.


He posted a list elsewhere in the thread, showing off his web-shop and stuff for mobile phones.

What I've used most over the years is his writing about GUI development.

https://defn.io/2019/06/17/racket-gui-saves/ helped me figure out some patterns I had trouble with and got me stuck in using Racket for this purpose in personal projects.

Later he added observables and threading logic, making it even nicer to build GUI, https://defn.io/2021/08/01/ann-gui-easy/ .

The core web development tools in Racket aren't exactly trivial to get started with until one is rather fluent with continuations so I've gained a lot from http-easy and Koyo, https://www.youtube.com/watch?v=DS_0-lqiSVs.


Ctrl-f "racket" on his "Projects" page here, there's tonnes of stuff https://defn.io/page/projects/


> Text is actually numbers

Text can be represented by numbers but they aren't the same datatype. They don't support the same operations (addition, subtraction, multiplication, etc).


There was a free tier of photos and videos under a certain resolution which didn't count towards your storage which they're removing.


I was under the impression that was only for Pixel phone owners - I suppose I was mistaken!

Although low resolution image uploads doesn't seem very useful for most people. The point of cloud storage is peace of mind to keep your data safe... and to me that implies the original photos not reduced resolution photos.


> Although low resolution image uploads doesn't seem very useful

They are still very high resolution. They're just not the original 50 MB file. It worked perfectly well for the overwhelming majority of people.

Pixel offered unlimited storage even for uncompressed photos, but that option was also discontinued a few years ago.


It's compressed not reduced resolution for most practical cases.


Those "free" photos and videos were still recompressed.


I was just reading about programmer's block / writer's block. This Quora answer https://www.quora.com/Do-programmers-suffer-from-Writers-Blo... gives a few helpful tips such as just write some functions to get you going and get the program to show output as quickly as possible (hello world, failing unit tests, whatever). Stopping when you've done the hard work of figuring out what to do next seems like a good technique as well. I don't think you should interrupt yourself mid-task though vs. pausing when you're ready for the next logical piece.


Wow that was a very interesting analogy and theory. Thanks for sharing! I've also never heard of SSC before. I saw the top 10 posts SSC lists in the about page, but do you have any other recommendations for articles relevant to the HN crowd?


What’s wrong with Redhat Linux?


Perhaps Systemd? RedHat kinda forced it on the rest of the ecosystem from their position of power in the distro world.

(I don’t hold such a grievance myself, but have seen enough systemd hate to understand the position)


This isn't getting more true each time it's mentioned. They did not force it on anyone, other distros adopted it.


redhat couldn't engineer an operating system to save their life: systemd is a Windows-like system, they constantly break backwards compatibility, their compiler is purposely castrated to only produce 64-bit code, memory overcommit is still a thing and ships out of the box turned on, they can't get NFS to work correctly and haven't been able to for decades, they can't get fiberchannel to work correctly, they resisted and sabotaged XFS for decades only to now make it a default after having made their customers to suffer with ext2, 3, and 4 for twenty years, they resist ZFS, they've allowed netstat to be deprecated in favor of ss, both GFS and GFS 2 are disasters which they could never get to work correctly, Puppet is a disaster, Saltstack is a disaster, Cobbler is a disaster, Satellite / Spacewalk is a disaster... seriously, what can redhat do correctly?

They spend more time arguing with paying customers on bugzilla.redhat.com than fixing their code because it's easier to argue than to find out where the problem is, or to solve the problem properly.


Red Hat break backwards compatibility every 10 years. the LTS approach has been copied by every other Linux distro.

systemd is windows-like in that it replaces a seperate and duplicate code in init, cron, atd, forever, and a billion init scripts with something actually designed.

Red Hat has supported XFS and paid it's maintainers for something like 15 years now.

I could discuss the rest but it honestly seems you're arguing from an emotional viewpoint rather than a technical one.


I'm merely answering the "what's wrong with Redhat Linux?" question: it's enough to go to bugzilla.redhat.com and pull the publicly open priority 1 critical bugs, read the exchange between users and redhat and a pattern emerges. Never mind what I wrote and what I suffer through on RHEL every day, let's ignore and discount that; it's the exchanges in the priority 1 bugs that tell the tale for themselves far better than I ever could.

Try building RPM's between .el5, .el6 and .el7, the macro definitions are ripped out and (partially) put back in or modified for more often than every ten years. And that's just one example of many. Starting with .el6 they made their RPM backend scripts bust if -Wl,--build-id isn't used in CXXFLAGS, CFLAGS, and FFLAGS because they modified their castrated compiler to encode that automatically and rely on it instead, so if you roll your own fixed version of the compiler but don't implement that, all your RPM builds are suddenly broken. Now I have to put that work-around in my compilers. Should I go on? I've got plenty of technical details...

So yeah, they should go into web and not touch OS and kernel engineering ever again.


Looking at prio 1 bugs for a huge distro like RHEL is not going to paint an accurate picture.

I've had production experience with all the major distros except SUSE, and Red Hat's QA is miles ahead anyone else's. Canonical/Ubuntu do a particularly bad job at it, for instance.

That's not to say there aren't any issues with it, and I've personally experienced a few (the devicemapper Docker driver, for example, caused a lot of trouble for me and I'm glad they did the right thing and built overlayfs), but overall, their engineering is very solid.


You've never used a traditional UNIX if you think redhat's engineering is solid, have you?


> There exist no words in any of the languages I speak which can express my hate of GNU and GNU/Linux.

We might not find much common ground there :-)

I'll bite: I worked with a bunch of HP-UX systems before they got decommissioned a few years ago, so I can attest both to how well-built the operating system is, as well as how painful it was to get anything modern running on them. I also keep an eye on SmartOS/SmartDataCenter.

However, how does this make Red Hat's engineering bad?


HP-UX was hard to get started on building software, but once one builds up a base of common libraries, it gets easier and easier, just like it did on Solaris.

hp's engineers never broke backward compatibility. The OS is lightning fast and rock solid. That takes a lot of insight and knowledge.

redhat constantly brakes things, I find things which work yetsterday that break tody, even in the same mainline release. They couldn't even get shutdown to work correctly, a couple of years back when we were working on integrating XFS (and they were still resisting it), the kernel was panicking because they were trying to write to an unmounted filesystem; that was 18 years into Linux's development.

SmartOS engineers would never do such a thing on purpose, as they are guided by the 'empathy is still a core engineering value', put in words in an answer by Keith Wesolowski, and in those very rare cases when they do, they fix it immediately.

With redhat we get constant finger pointing between them and the hardware vendor, they never act responsible for anything although we pay them lots of money. What the hell are we paying them for then? They can't even engineer proper code and drivers for their own OS for the hardware they officially support. That's not engineering, that's hacking!

The worst by far is their lack of architecture. Take Satellite for example, with their concept of channels: unbelievably confusing and complicated. Have you tried integrating your own RPM's into it? The needless complexity!

We had Satellite filling up an Oracle tablespace with irrelevant garbage log information even though we just installed it; I called redhat up and asked them how to lower the amount of information Satellite is generating so that it wouldn't constantly fill up the tablespace. Their support told me that I have to go talk to Oracle because it's an Oracle database problem! Yeah, they are that kind of experts!


Solaris had XML config files and wouldn't boot if you had a tab character in vfstab.


Only SMF uses XML and SQLite behind the scenes. While that is a poor choice of configuration format, SMF is considered the Golden standard which all others try to re-invent and re-implement (not invented here syndrome), because SMF has been working reliably for more than a decade, and all added capability doesn’t break backwards compatibility, so an SMF manifest you wrote ten years ago works without modifications on the latest and greatest nightly build of illumos. That’s system engineering as opposed to haphazard hacking. I use drivers in the latest illumos from 1995 and they run without recompilation or modification. I’d like to see GNU/Linux pull that one off.

As for \t not working in vfstab(4), it’s simply not true, as all my vfstab(4) files use the [TAB] characters to line up the fields.


Yeah they fixed the vfstab problem. It would have bitten you to if you used Solaris back when it mattered.


I’ve been using Solaris since 1993.

I still use it today.


Great. You weren't tab-indenting (or space-indenting, I can't remember which one wrecked your machine) your vfstab back on Solaris 8.


I most certainly was tab-indenting, since Solaris 2.5.1 in 1993.


> Now I have to put that work-around in my compilers.

That seems really minor to me... Just because it takes a long time to find the root cause of a bug doesn't mean that the root cause was a stupid decision.

Disclaimer: I partially work as a developer/support engineer for a RHEL-derived OS, but use Debian at home.


It's a lot of engineering to roll out one's own compilers, especially if one wants to do it correctly.

They are relying on specific hacks in the GCC compilers' backends in order for their rpmbuild back-end tools not to bust. That's lack of insight and lack of architecture: what if I were using Sun Studio compilers for Linux, or intel compilers, or PGI compilers? rpmbuild will bust. They didn't think it through, and they never do. It's so stereotypical of them: for the past 20 years they've been haphazardly hacking, and never learned from their mistakes on how to actually engineer systems and how to architect solutions. Just take a look at the hacks they perform in their .src.rpm's, and it's crystal clear.

And "-Wl,--build-id" work-around I had to pull was just one example. I have many.


I'm with you. Red Hat is trying to stay relevant, but it seems that their management has no idea what is going on...or what to do outside of RHEL.


IMO Red Hat has been on top of recent developments.

OpenShift is (arguably) the best PaaS Kubernetes distribution, and certainly the most enterprise-ready one. I use it in production and it's a great piece of engineering. They heavily contribute back to Kubernetes upstream instead of forking it. Red Hat is responsible for many important Kubernetes features like RBAC.

They acquired Ansible and, recently, CoreOS.

Software Collections make it really easy to run an up-to-date software stack on RHEL by decoupling it from the base OS (which is the way to go, IMO).

And of all the IdPs I recently evaluated, Keycloak sucks the least.


The thing is, all of that is like stone tools are to spaceships when compared with SmartOS and Triton.


Legitimately curious: the main issue with running containers on Linux is the bad state of the Linux kernel as far as security is concerned. Even with SELinux, it's risky to run multi-tenant containers on Linux due to the massive attack surface, necessitating things like [1] or lightweight VMs.

How does SmartOS solve this?

Also, does the Joyent stack have an OpenShift equivalent? Triton wants my credit card details to sign up with their public cloud, but I might grab a spare box and give it a try.

[1]: https://github.com/google/gvisor


https://news.ycombinator.com/item?id=17067854

...if after reading that you still have specific questions, ask.

You don't need a credit card, if you don't want to run it on Joyent's servers, you can run Triton for free on your own at home, at work, (or someone else's) infrastructure. All of that technology is freely available at Github at no cost other than reading a little bit of documentation and investing some time to set it up following the instructions.

Out of curiosity, do Digital Ocean, Hetzner, Azure or AWS not ask for a credit card?


What exactly did I write above, that made you so angry? I’m baffled.


What difference does it make, though, if the world is largely satisfied with the "inferior" tooling?

To wit: http://dreamsongs.com/RiseOfWorseIsBetter.html


Well, one is forced to work with that inferior tooling and is not allowed to change it. This is excruciatingly painful and generates a lot of resent when one knows that there is far superior tooling available, gratis, with much higher quality support and way more competent engineers working on that tooling.


I don't do any GUI programming but that doesn't sound like such a bad thing when the target platform (browser) is just about everywhere.


What are other suggestions? (I haven't done any searching but it sounds like you had some in mind.)


Not an OCaml dev- it looks like wxwidgets has bindings, which is what I'd use for 'minimal'. But a text editor with the type of features he wants is not minimal.


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

Search: