HackerTrans
TopNewTrendsCommentsPastAskShowJobs

Crinus

no profile record

comments

Crinus
·7 年前·discuss
I know that Emacs has good support for Lisps in general, my comment was a joke towards what i consider basic features of an IDE (the whole 'modern' and 'advanced' thing when referring to stuff that were available in the late 80s should have made it obvious :-P). It comes mainly from my observation of the trend where a lot of developers like to jury rig "IDEs" out of text editors and a bunch of other unrelated tools that look as if they are made to be run in 70s terminals that look and feel considerably worse that MS-DOS applications which had 1/100000th of the available resources.
Crinus
·7 年前·discuss
Ah, somehow i missed that it is build on IntelliJ. I thought it was a native macOS application.
Crinus
·7 年前·discuss
You say that but one thing that i always dislike when i consider taking a look at Lisps is how everything seems to be either on Emacs or looks like it'd really like to be Emacs.

Personally I want a full blown IDE that takes advantage of advanced modern technologies such as displays that can draw individual pixels, have a model of the codebase that allows advanced features such as word completion and preferably fits nicely with the underlying OS. A debugger would also be nice, but i understand that sometimes i ask too much.

I wouldn't mind paying for such a tool (though i do mind DRM schemes and subscriptions - i want to be able to pay once and then be on my way). Cursive looks something i'd pay for if i was really interested into Clojure and was using macOS.
Crinus
·7 年前·discuss
This doesn't answer the question though. The question was "why would you buy this over a pc with the same specs?" and you answered essentially with "if you do not already know this then you cannot know this".

How would one gain that knowledge in the first place? We aren't born with the knowledge of why one would buy this machine over another.

We gain that knowledge based on specifics of the two machines. So the question is simple: what specifically makes the new Mac Pro a more desirable purchase option for someone than a PC with similar specifications?
Crinus
·7 年前·discuss
I remember building Mozilla took around 6 hours in my PC back around 2003. Though granted, that was a Pentium II PC with only 128MB of RAM and most of those hours were probably spent with the OS (Linux) swapping stuff :-P.
Crinus
·7 年前·discuss
And what is the point then? I'm serious since i read this "if you do not understand why then it isn't for you" but without any explanations about what isn't understood.
Crinus
·7 年前·discuss
Of those only VSCode is a desktop application and VSCode is already a web browser. Also considering it is meant to be modular, its documentation system would also need to be modular and i'm not sure if CHM is good with that.
Crinus
·7 年前·discuss
FWIW Lazarus[1] has its own CHM generator and CHM viewer which uses its own HTML engine written on top of its LCL framework, making it cross platform. Though personally i prefer the native viewer on Windows as LHelp (Lazarus' viewer) feels a bit clunky.

(the generator actually comes from Free Pascal, but the viewer is only on Lazarus)

[1] https://www.lazarus-ide.org/
Crinus
·7 年前·discuss
Hm, almost every desktop program i have on Windows that bothers with help uses CHM and pretty much every documentation generator can generate CHM files, why do you think it isn't used?
Crinus
·7 年前·discuss
> What you call dark patterns are ways to ensure users don't accidentally load malware onto their device.

They are still dark patterns, that they also have found excuses for those dark patterns does not make them any better. In fact most of the stuff (not just Google's) we see nowadays that take control away from the users - very often in ways that entrench monopolies and the status quo - use "but security" as their primary defense.
Crinus
·7 年前·discuss
> a large part of this has been about not being constantly distracted when I’m with other people

I do not understand this, why would a smartphone distract you if you do not set it up to distract you? Can't you just not install all the distracting software and turn all notifications off? This is how i have my phone (i do not have any "social" app installed, do not allow any notifications and have it in almost constant silent mode - though that last bit is to avoid telemarketers who are an annoyance around here) and sometimes i even forget it exists to the point where the battery runs out :-P
Crinus
·7 年前·discuss
In C you can return a struct, however a better approach is to use a context object which also contains error information, like:

    ctx_t* ctx = ctx_new();
    if (!ctx) ... fail ...
    if (!ctx_parse(ctx, code)) {
        show_error_message(ctx_erline(ctx), ctx_ercol(ctx));
        ... more fail ...
        ctx_free(ctx); /* often done in a goto'd section to avoid missing frees*/
    }
This also allows you to extend the APIs functionality, error information, etc in the future while remaining backwards compatible.
Crinus
·7 年前·discuss
I already gave an example of APIs that do this - pretty much all COM APIs use HRESULT. I do not know why not everyone does this as i'm not everyone and as such i cannot tell what sort of considerations (if any) were going on. At best i can make some guesses.

BTW curl does seem to do what i wrote above, for example `curl_easy_init` returns a `CURL` object on success or NULL if there was an error [1] and `curl_easy_perform` returns a `CURLcode` value [2] that looks like it is used across the API to indicate errors.

[1] https://curl.haxx.se/libcurl/c/curl_easy_init.html

[2] https://curl.haxx.se/libcurl/c/curl_easy_perform.html
Crinus
·7 年前·discuss
You are making things sound way more complicated than they need to be, the situation is actually very simple: if you need to return multiple error codes, use a return value for the error code and give back things via an output parameter, otherwise just use a sentinel value for error (0, -1 or NULL depending on context, they aren't totally random you know, 0 and nonzero are used for false/true, -1 is used when you expect some index and NULL when you expect some object). When in doubt just use an error return code everywhere (e.g. what many Microsoft APIs - even some C++ ones - do with HRESULT).
Crinus
·7 年前·discuss
HTML3+
Crinus
·7 年前·discuss
Since we're playing that game, i nominate Paint Shop Pro 7 :-)

There are very few (and minor) things i'd change about that software and apparently its developers thought the same because the biggest change they did after that was to change the program's theme (in general i think when a commercial program has ran out of important stuff to add the next thing they do is to change the program's theme :-P).

Also Delphi 2 and C++ Builder 1. I refer to the IDE there (they're essentially the same IDE except one uses Object Pascal and the other uses C++), not the language (as a language the ideal would be Delphi 7 with some functionality from Free Pascal like dynamic arrays and generics). The only thing i like from later versions is the inclusion of auto-completion, but beyond that (and especially after Delphi 7) there is way more bloat than good.

And MS Paint up until the Vista version. The only thing it needed was a tool to draw arrows. I curse the Win7+ MS Paint every time i want to draw overlapping rectangles or a rectangle and then something else.

Also WinHelp, whatever was the last version was fine. This didn't "fall from grace" as much as it was outright killed. CHM/HtmlHelp is nice (everything else that Microsoft has produced on the help front sucks) but the ability to add CSS and JavaScript on it means that many programs do add CSS and JavaScript (though TBF authoring WinHelp shows that it is a hacky hack of great hackiness, but i'm referring to the overall UX as a user, not author).

And of course WinAmp 2.95, i do not think this needs explanation :-P

Finally i think Visual C++ 6 (with the addon to add tabs) is the best VC++ version - again about the IDE, not the language. Though overall i prefer Borland's C++ (C++ Builder, Borland C++) mainly because the compilers are much faster (and i do not use C++ much to care about any missing features).

On the Linux side the last version of Xpdf to use Motif was the best Xpdf, GNOME2 is the best GNOME and Gtk2 is the best Gtk. Though Gtk itself is lousy, the only reason to use it is for GNOME.
Crinus
·7 年前·discuss
I prefer PC because i have real ownership of the games i buy (i mostly get my games from DRM-free stores like GOG) and no arbitrary backwards compatibility breakage (i have many games on CD from the 90s and 2000s that work on my brand new PC... though some need several workarounds, but still much preferable to not being able to play the game at all - nowadays i rip my CDs and DVDs to my external HDD alongside community made patches/fixes though so i do not have to deal with hardware issues and scratched disks).

Also the sort of games i prefer to play (FPSs, CRPGs and to a lesser extent simulation games) play much better on a PC than a console or mobile.

Note that with PC i do not mean Windows, although i do use Windows. But with Proton evolving i think that in a few years i should be able to play any game i want on Linux or even Mac (assuming Apple hasn't gone full retard in the meanwhile).
Crinus
·7 年前·discuss
> OpenGL is in maintenance state on all platforms basically.

The OpenGL 4.6 spec was released four months ago with new features and extensions come out all the time.

> Vulkan opens the whole low-level can of worms on you

Vulkan's API is unnecessarily ugly, it gives the impression of a low level API with all the structs and such but in reality the driver just picks up data from those structs to move around. In real low level APIs you use structs because they are memory mapped and/or aligned pretty much as the hardware expects it, but Vulkan is a hardware agnostic API.

And yeah, Metal is probably a better API but it is also only available on Mac which makes it a no-go for pretty much everyone outside the Apple bubble.

Personally i'll stick with OpenGL for the time being. I do not need much of the fancy stuff newer OpenGL versions have anyway (i don't do AAA-game level rendering) and i do not see OpenGL being dropped any time soon from any sane platform.

When it comes to Apple's stuff i'll decide between writing a small OpenGL wrapper myself for the functionality it use or just dropping the platform altogether when the time comes and they drop support for the API. Considering they still support Carbon (even if only for 32 bit programs), it might be a while until they drop OpenGL though.
Crinus
·7 年前·discuss
I bought a few books a couple of months ago from Amazon for use with their PC viewer and the first thing i did was to remove the DRM (so i can read it on my phone using my preferred ebook reader... and i trust myself more than Amazon to keep the books around) so i think they managed to break the latest version too.
Crinus
·7 年前·discuss
Note that some games on Steam are DRM free, you can download the game via Steam and then make a zip with the files for your own safekeeping.

Sadly it isn't obvious (nor mentioned anywhere, except some very incomplete lists in various wikis) which games are DRM free and which are not and the only way to figure out is to buy the game and try to run it outside of Steam (with Steam itself not running and its folder temporarily renamed to something else). In general if a game doesn't have steam_api.dll, it should be DRM-free but if it does then it is a crapshoot if the Steam integration is necessary or the game can function without it (e.g. Dementium II HD, a game i just tried yesterday, does have the DLL but it can work without it). Also some functionality that in theory could be available without Steam (such as multiplayer) will not work.