unixsheikh

Joined 8 years ago

Karma
45
Submissions
39
Member since
Mar 13
I like coding and BSD/Linux system administration using a pragmatic approach.

https://www.unixsheikh.com

View on Hacker News

Recent submissions

Comment · 4 years ago
Author of https://openbsdrouterguide.net/ here. What part do you consider outdated?
Comment · 4 years ago
I am sorry, but if you need someone else to provide you with a list like that, you should NOT be doing this. It is the wrong approach on so many levels.
Comment · 4 years ago
I don't get what the fuss is about.

I run several Arch boxes, a couple I believe is on 15+ years. One such installation has even been mirrored from one disk to multiple other disks and put into other machines, just because it was already set up as needed. Only once did a package I ran require manual intervention during upgrade, but as always, that was clearly described on the Arch website.

This also goes for Debian, FreeBSD and OpenBSD.

Comment · 4 years ago
No. It adds nothing but unneeded complexity to the stack. Learn how to package your software and use the package manager. You can combine that, if you must, with any kind of config manager like Ansible or something else.

So many companies are doing what's "trendy and shiny", and it can almost look like it is becoming a de-facto standard, but they will eventually realize the mistake.

Comment · 4 years ago
I cannot believe how big of a monstrosity systemd has become. It started out as an init system and was promoted as such and I started out liking it. Then the wording suddenly changed to "a suite of basic building blocks for a Linux system", then came the hardcoded DNS servers, then the shitload of bugs that has been ignored since about 2015. Now instead of fixing what's broken and making things more secure, more and more cruft keeps getting added.

> We used to sit around in the Unix Room saying, 'What can we throw out? Why is there this option?' It's often because there is some deficiency in the basic design — you didn't really hit the right design point. Instead of adding an option, think about what was forcing you to add that option. (Doug McIlroy).

Sigh!

Comment · 5 years ago
No, it's useless for me too.
Comment · 5 years ago
Very well done! Great project!
Comment · 5 years ago
We keep things as close to the bare metal as possible and avoid complex layers as the plague.

We have only negative experiences with frameworks and big layers. They solve problems quickly in the beginning, but they always end up causing problems. Years later, debugging strange errors, security issues, etc. The more layers you add the less useful and good the application becomes.

we use the standard library and a couple of slim and well written external libraries, such as sqlx and go-sql-driver.

I have written my own HTML form validator and custom error handler - once you get that done, web development in Go becomes MUCH easier.

We don't use ANY JavaScript on the front-end unless it is a minor custom enhancement to the UI (it must be able to run without). Everything is pure HTML and CSS.

However, I personally do find the HTML templating tedious, but I have always found templating stupid and annoying, this is not specific to Go. I prefer to write HTML inline in PHP (when I do PHP) i.e. the old fashion way. I hate templating in any language!

It's easy to make mistakes in Go HTML templates, make sure you test that part of your code well!

Writing big web applications from scratch is great though, and it's really fast in Go, faster than PHP, as long as you do it right! Documentation, documentation, documentation. Anyone who inherits your code, whether you're alone or on a team, needs to know and understand your thinking and rationale.

The main reason why projects fail when they build tailor made software is because of laziness regarding documentation.

The correct way is to regard missing documentation as a bug! Write the documentation WHEN you write the code. If you change the code, change the documentation right away, when you can still remember what you're doing and why - this is the most important part and why so many code bases are horrible to inherit. Missing or poor documentation.

Never use "clever" code, make code that is easy to read and understand. Don't worry too much about design patterns and philosophy, they mostly belong in the books and in theoretical discussions!

Web development in Go is not for everyone, it requires experience and thoroughness. The build fast, deploy and forget strategy - that most people use these days - doesn't belong in Go.

Go will reward you in the end with really good performance and very easy future maintenance. Nothing suddenly breaks because a third of the standard library has suddenly been changed in the next version upgrade, such as with PHP.

EDIT: Typo.

Comment · 6 years ago

  Location: Europe/Copenhagen
  Remote: Yes
  Willing to relocate: No
  Experience: Senior 30+ years
  Technologies:
    * PHP, Go, Python, C, JavaScript, HTML, CSS, XML, JSON,
      SQL, Shell scripting.
    * Debian, Arch, Void, Alpine, OpenBSD, FreeBSD.
    * Apache, NGINX, MySQL/MariaDB, Galera, Sphinx,
      PostgreSQL, MongoDB, Redis, SQLite, OpenSSH, Git,
      Mercurial, DHCP, DNSMasq, Bind, Unbound, NTP, PF,
      iptables, ZFS, Btrfs, GlusterFS, NFS, Samba,
      OpenSMTPD, Postfix, SpamAssassin, Dovecot, GnuPG,
      rsync, ProFTPD, PureFTPd.
  Websites:
    * https://unixsheikh.com
    * https://openbsdrouterguide.net
    * https://phpthewrongway.com
  Resume/CV: Request via email
  Email: [job] at [unixsheikh dot com]
Comment · 6 years ago
I'm glad I neither use Google nor YouTube! Security.. riiight!
Comment · 6 years ago
> Why? Why not use a single protocol that's widely tested and trusted by security experts? I mean, we didn't come up with a brand new encryption strategy for FTP, we made FTPS.

> Why on earth would we want to use 5 different encryption protocols in the browser? That's just pointlessly adding attack surface. What's wrong with HTTPS that means it's a bad fit for encrypting a DNS query? A DNS query is essentially at its core an HTTP request to a remote server, and HTTPS is already very good at encrypting HTTP requests. There's no need to reinvent the wheel here.

This is where you're wrong. A DNS request is far from the same as a HTTP request!

You don't seem to understand how the technology really works in the underlying protocol.

HTTPS is designed to encrypt HTTP traffic, it was never designed to be stuffed by other kinds of traffic. When you stuff DNS into HTTPS you not only get a destination IP in clear text, something you cannot get if you use DoT e.g.

Furthermore, DoH also completely ruins analysis and monitoring of DNS traffic for security purposes. Already DoH has been used in a worm to mask connections to its command-and-control server.

If you want to solve the obvious problems with DNS, you don't keep doing the same mistake over and over again by patching with the same half-baked solution.

DoH does not solve ANY of the issues it is set out to do! I have worked for a long time in the ISP industry, users gets tracked by source IP and destination IP mainly, and figuring out what particular website they have visited, even when the hosting provider has multiple websites running on the same IP, is so easy just by looking at a hash of the payload that it is ridiculous.

DoH is "fake privacy". Period.

Comment · 6 years ago
I think you misunderstand. Of course everything needs to be encrypted. However, feeding everything through HTTPS is WRONG! This is basic computer and network engineering. If you want to encrypt DNS, fine encrypt DNS, but flipping leave the HTTPS protocol out of it!

Furthermore, the destination IP address is ALWAYS in clear text when you use HTTPS. Which demonstrates exactly why this is so wrong.

DoH - is fake privacy, it's nothing more than extra sugar on Cloudflares spying cake - and more funding for Mozilla.

Wake up.

Comment · 6 years ago
Yeah, let's start feeding our mail, ftp, ntp, and everything else over HTTPS as well now we're at it!

DoH is DNS done completely wrong. It's the worst patch solution to a problem that should have been solved correctly long ago!

Comment · 6 years ago
I almost look forward to the day when it all blows up in the face of those who thought that all of these, in reality economical driven half-baked solutions - disguised as privacy or security, end up causing such a break down, that nothing works any longer.

The amount of sheer stupidity that goes into the "modern web" is just mind bugling.

DoH does absolutely nothing that helps privacy since the destination IP address is always clear and DoH only obscures that which it never should have touched with in the first place.

I have just about had it with the IT industry and the modern web!

Comment · 6 years ago
Google's non-free JavaScript recaptcha is an absolute showstopper! At least roll out a custom made solution of nothing else.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton