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

Okay, so most of us are aware of Unity vs Unreal battle. Are there any other engines which are being used or worth checking them out?

I heard a lot of good things about Godot Engine: https://godotengine.org/

Someone also mentioned here Grid Engine (which I never heard of): https://www.planimeter.org/grid-sdk/


Unity could potentially get squeezed between Godot in the low-end and Unreal in the high-end. I've played around with Godot, and for small, performance-insensitive games, like a Candy Crush clone or indie puzzle platformer, it is a nice, license-unencumbered option.


I wonder if GNU project will ever be complete. I mean - the main goal was to create an operating system, correct? And AFAIK thanks to Linux it was possible to run plenty of GNU stuff but kernel (GNU Herd) is still not done. Does it mean that GNU project will never be completed? It's kind of sad if you ask me.


1. GNU Hurd is usable by those interested, but obviously still needs a lot of work to be generally usable.

2. These days, GNU Hurd isn't GNU's only kernel. GNU Linux-libre is a fork of the Linux kernel that removes support for non-free binary blobs, and is officially part of the GNU project.

3. There's a distribution called GuixSD, which takes the GNU package manager (GNU Guix) and the GNU init system (GNU Shepherd), and the choice of GNU kernels (GNU Hurd or GNU Linux-libre), and builds a complete system out of them. It's easy to make the case that GuixSD is the GNU system in everything but name. And even then, there's the ongoing possibility that GuixSD becomes "blessed" as the complete GNU system and renames to GNU.


GNU project was already complete in late 80s -- early 90s. Hurd is currently a research project with no intention to replace linux. See, GNU and Linux have a sort of bittersweet history, but no matter which side you are in, if you just think rationally for a bit you'll realize GNU+Linux is the only future of both GNU and Linux. Even leaders of both parties, Stallman and Torvalds agree with this.


GNU+Linux is the only future of both GNU and Linux

Android is Linux without GNU, so it's not hard to imagine a different future (whether it's desirable is a different question). Android has no GNU in user space -- it's almost all Apache and BSD licensed.

And I'm pretty sure the build toolchain is Clang and not GCC.

Though I hope the values of GNU continue to be important in the software world. Linux and GNU have different viewpoints and I think we need them both.


> And I'm pretty sure the build toolchain is Clang and not GCC.

Yes, Google took the effort of making Linux compilable with clang, then they deprecated gcc and with the latest NDK release (R18) gcc has gotten finally the boot from Android.


According to Stallman GNU is "done" as Linux is a GPL'd kernel. There isn't a reason for GNU to -make- their own in-org kernel when a perfectly functional GPL'd alternate exist.

If you are a big on "purity" there are `make` flags to avoid bundling proprietary blobs. So its not like you are even giving up your ideological idealism using a GNU/Linux OS.


I hurd next year.


Anyone read this? How is it? I was never good at math and I have it on my "todo" list. Go back to some material from my high school and undergrad and fill the gaps. ;)


If you want to fill gaps, any typical undergrad calculus text will do such as Stewart's Early Transcendentals book. You do enough of those 8,000+ exercises and your highschool gaps will fill themselves. My favorite beginner math books are Thomas VanDrunen's Discrete Mathematics and Functional Programming because it's entirely done in SML, and Apostol's Calculus because you end up doing so many exercises you absolutely will never make a silly algebra mistake in a proof or forget a trig identity ever again. Often Apostol will just defer to endless calculating in the chapter exercises if he doesn't have anything he wants to add to the material, this is really good practice if your basic math education is shit like mine was.


Awesome! Thanks a lot!


It seems that my post was pretty much ignored - unfortunately. I also asked the same question on r/learnprogramming. There are two recommendations: Safari Books and Pluralsight subscriptions. I used to have Safari subscriptions for few years so maybe I will give Pluralsight a try. However I am not sure yet.


I apologize for being an ignorant for so many years but... who is the OpenBSD target audience? In which areas it is the most popular OS? I worked with Windows, GNU/Linux and macOS (OSX) but never tried OpenBSD.


In my estimation, mostly a mix of:

- Those running network infrastructure (router, firewall, VPN gateway, mail server, etc.)

- Those who want a simple Unix desktop with no gimmicks and low hassle

- Hardcore Unix geeks who don't like the other flavors for $REASONS

In a more general or vague sense, OpenBSD is often appealing to people who care more about cohesiveness and correctness than about the sheer magnitude of performance and features. If you've ever thought that you might prefer to have an indefinitely supported version of Windows 7 because Windows 10 seems to be crawling with gratuitous changes, bugs, and dubious "features", the appeal is a bit like the Unix equivalent of that.


> - Those who want a simple Unix desktop with no gimmicks and low hassle

This! When you are using OpenBSD, and wonder how a particular piece of the kernel works, you just open the source code, read it, and you can usually have a good idea of the inner workings with some days studying it. Trying to do the same thing with linux, you would need months to grasp any idea of how it works. Linux is developed by thousands of people all around the world at the same time. OpenBSD on the other hand is developed by a few power developers, which gives the code a unique consistency and readability.


Just use Debian GNU/Linux minimum-installation without desktop environment. I doubt you're much faster in studying the OpenBSD kernel compared to the Linux kernel. I'm also not sure if some days are enough for both of them.


OpenBSD is great if you enjoy rooting around in the innards. I find the code simple and easy to read. Man pages are extraordinarily complete and accurate. OpenBSD devs go out of their way to delete unused and crufty code.


> OpenBSD devs go out of their way to delete unused and crufty code.

I noticed this first hand in while submitting a patch for my macbook's touchpad to FreeBSD's wsp driver and then comparing to OpenBSD's driver... The approaches between FreeBSD's and OpenBSD's driver couldn't be more opposite: FreeBSD's is big, explicitly listing each hardware revision/model (hence the reason I had to go in there and add mine), OpenBSD's very minimal, implicitly inferring all hardware revision options so users don't have to add each and every one, it's also very neat and tidy which I think is an underrated quality in source.

Admittedly this is only one file from one small number of devs, far from the whole of FreeBSD, but the contrast matches much of what i've heard of OpenBSD's approach: minimise cruft and bad code, if it's shit and not easy to re-write then delete it, better to be minimal than buggy and insecure.

Full Disclosure: My comment may well be outdated since I moved away from FreeBSD for my desktop 2 years ago, I have nothing against it, I just needed (other) working drivers.


BSD people, usually networking. And people who like security (though OpenBSD has detractors). It was used a lot as firewall for critical infrastructure a few years ago, perhaps still is.

Also, installation was quite fast if you knew what you were doing.


It has been my daily driver on laptops and desktops for eight years. I have run home servers with it as well.


It's my primary desktop as well. I like it because it's low churn, everything I need just works, and most of the configurations have sane defaults so config files tend to be short and simple or not needed at all.

I don't hack on the internals or build my own ports, I just use it. It stays out of my way and I like that.


This may seem like a ridiculous comment but I love that a lot of work on Linux has been to make it easy-as-pie to install/setup quickly and I feel like it's happened in the last couple years (cgroup + systemd stuff mostly). I praise docker for making immutable services commonplace, but I also love projects like cockpit from redhat + netbox + coreOS. There used to be so much technical debt that went into getting a server off the ground and monitoring it.

I'm weird, dunno if others agree ~


OpenBSD's target audience? From what I've seen, it's OpenBSD developers. Your other question was answered in the OpenBSD FAQ. https://www.openbsd.org/faq/faq1.html#WhatIs


I run a home brew OpenBSD router. It hosts a vpn server. (Amongst other things) Comes in handy when traveling. Plus, it’s a good way to sharpen my professional skills.


I've been thinking about doing the same thing. What hardware did you use?


I've got an OpenBSD router setup on an APU2 (https://www.pcengines.ch/apu2c4.htm). It's running dhcpd, unbound, dnscrypt-proxy, openvpn server and an openvpn client and the load averages are pretty low. Haven't bench-marked throughput properly yet as I'm still configuring PF properly.

I used these [0][1] repos as a starting point, I wrote a few helpers to update dynamic dns and a DNS ad blocklist for unbound. This replaced a pfSense install and I'm happy with it so far.

[0] https://github.com/elad/openbsd-apu2 [1] https://github.com/northox/openbsd-apu2


I bought a qotom mini pc with 4 lab ports off amazon. It’s worked really well. I accidentally knocked it offline yesterday and it came right back up.

What I love about OpenBSD is the documentation. If An openbsd manpage describes it then it will work like that.

The only bummer is it’s a bit of a niche. I’m sure the majority of Linux distros dwarf its development team in warm bodies.


I've found some people who run OpenBSD tend to quite like Arch-Linux style systems, there are similarities in terms of minimalism, it's probably the most Arch like of the BSDs. The install process is similarly more hands on also... unlike say FreeBSD's installer which you can almost just keep pressing the return key on.


If you haven't used the OpenBSD installer lately, it's about that simple also.


Good to know, as much as I like the possibility of customising to that level I also appreciate good defaults so I don't have to if I don't want to (yet). I've been using Debian for a number of years for $HARDWARE_REASONS, but openBSD is probably what I will try next if I give the *BSDs another go.


Before cloud was a thing, I used to run an OpenBSD web server in my bedroom on my old desktop. I set it up after my commercial web host was hacked for running outdated Apache.

I stopped using OpenBSD when I tried installing it on my newer Core 2 Duo desktop in ~2008, but the OS would not boot, and I was told on IRC by OpenBSD developers that the hardware was too new for OpenBSD.

FWIW, now I use Arch Linux. I guess I'm in the target demographic.


I have this page on my "TODO" list. What is your opinion about it? I see already that you are recommending it but maybe you can give some more details. Thanks in advance.


It starts you from scratch and I'd say it's well done, maybe even be overdone for Lisp. But you get a good introduction to the essentials of language implementation for more complicated languages.

Shameless self-promotion: I wrote a Lisp interpreter in a single assembly file for Raspberry Pi. It also starts from scratch at an even lower level, to the point of ignoring standard libraries.

https://github.com/marcpaq/arpilisp

I was inspired by jonesforth, which, if you haven't read it, is a beautiful piece of work.


Great work on this! I've not touched ASM in nearly 20 years (I first learnt C and then a bit of ASM to crack software using Softice!)

This really makes me want to blow the dust off the RaspberryPi (we all bought one and never used it: admit it) and get this up and running, just to see it working.


This is a great introduction to both Lisp and Arm ASM - very nice! I will have to take a few days off to study it properly.


Skimming through it and seeing stuff like this doesn't leave much headroom for a high opinion, at least from a hard-line Lisp and C expert point of view:

  /* excerpt from builtin_op function */

  while (a->count > 0) {

    /* Pop the next element */
    lval* y = lval_pop(a, 0);

    if (strcmp(op, "+") == 0) { x->num += y->num; }
    if (strcmp(op, "-") == 0) { x->num -= y->num; }
    if (strcmp(op, "*") == 0) { x->num *= y->num; }
    if (strcmp(op, "/") == 0) {
      if (y->num == 0) {
        lval_del(x); lval_del(y);
        x = lval_err("Division By Zero!"); break;
      }
      x->num /= y->num;
    }

    lval_del(y);
  }
For people who are newbies to programming and newbies to C, this sort of book can provide stimulating activities and motivation. Ultimately they will probably be unsatisfied with their results (but then nobody is ever satisfied with their results no matter what, if they are newbies in programming and C, struggling to make something).


I worked through the book while I was in school as a way to prepare myself for a C-programming heavy course (OS) that I was scheduled to take later in the semester. I liked the book - its quite intense but you do end up learning quite a bit. I also picked up interesting tidbits on Lisp so that's quite welcoming.

One thing that you might be interested in knowing about is that this book uses a few libraries which means you don't end up writing everything from scratch. For example, in the chapter on parsing, the grammar is implemented using a library called MPC (https://github.com/orangeduck/mpc) written by the author himself.

I didn't quite reach till the very end so didn't have a chance to implement Macros (the author does mention them in Chapter 16), so if that's something you can very keen on implementing then you might have to look someplace else.


Nicely said. Thanks!


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

Search: