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

i kind of hate that OjectiveC killed ObjectPascal and that we don't have a mainstream modern kernel written in Pascal.


Object Pascal was sadly mostly gone by the time NeXT was acquired, C++ was the main Apple language already.

Object Pascal got replaced with MPW environment, and a C++ version of Toolbox got introduced.

Additionally Metrowerks with the PowerPlant C++ framework, was eventually the main Apple partner for Mac OS development.


it can show a basic unbloated news site from my contry

it can show lwn.net

it can show HN

it can show old popular local forum

it can show rss feeds

it automatically blocks (does not work on) all the popular social networks

--

what else is there?


> it automatically blocks (does not work on) all the popular social networks

You should be head of marketing somewhere :-p


gopher and gemini plugins work great, it needs dillo mainline.

Also:

gopher://magical.fish Huge portal, with news sources

gopher://goherddit.com Reddit

gemini://gemi.dev News Waffle, able to browse Ars Technica and so over Gemini.


Don't forget gopher://gopher.floodgap.com

Also, there's the Floodgap Public Gopher Proxy:

http://gopher.floodgap.com/gopher/


> gopher://goherddit.com Reddit

gopher://gopherddit.com


apparently a lot of hardware is still not properly supported, like speakers, microphones and energy saving


Here’s the list of very detailed support status: speakers are generally supported but microphones are not. They have a driver for some energy savings but it has some rough edges.

https://github.com/AsahiLinux/docs/wiki/Feature-Support


Sounds like headers in general are not necessarily a good idea.

They provide flexibility but at a cost.

I enjoyed Borland Pascal compilation speeds and clean dependencies before switching to Linux. I miss it, together with Delphi.


C++ has been trying modules, and Gabriel Dos Reis from Microsoft has gotten a pretty decent standard and implementation done. It's likely it will be added to the C++23 standard. The biggest issue seems to be "What cross compiler format do we use for the compiled modules" (the equivalent of DCUs). The other problem is that macros have to still work, and code that uses them will not benefit as much from modules.

The gains in compilation speed (including linking) and dependency information tracking is phenomenal though. It would certainly bring C++ in line with languages like Java, Rust etc.

The CPPCon 2021 talk about this is enlightening.

If C++ gets modules, there is no reason why C can't use the same model - since the compilers will have that stuff anyway.


Modules are part of C++20


And it's telling that we're in 2022 and still the only compiler with full C++ module support according to cppreference [0] is MSVC.

[0] https://en.cppreference.com/w/cpp/compiler_support

https://clang.llvm.org/cxx_status.html

https://gcc.gnu.org/projects/cxx-status.html


The c compilation model is tuned for ancient hardware. On modern hardware, incremental compilation isn't all that useful, so the entire import/header model makes less sense.


If there was only a good Ruby in browser implementation, I'd be more than happy to go Ruby everywhere.

New Rails with turbo streams is great, but often times it's desirable to do data processing on the client, and then getting back to JS feels like a step down.


Did you try opal?

https://opalrb.com/

If yes, what was your opinion? I never tried it since I'd rather just work in two languages.


I was under the impression that a lot of the original team was hired by MS and that was the end of Borland that created Delphi.


Still Delphi was better.

- DSL for UI (Forms) - fast native compiler that produced self sufficient binaries - great component library and many open source libraries - Object Pascal was extended to fit perfectly the needs of UI programming


Building things that have no real-world constraints does often result in great beauty. Unfortunately, the web and all its ugliness became the dominant platform because it enabled no-download no-install information & application interaction


It was probably 20 or so years ago when I played for some time with Delphi. It was extraordinary easy to make program interfaces. Fast forward to today and we are in this clusterfuck, where everyone keeps reinventing the wheel and complexities just keep growing.


Yeah I feel that in a way, the best time to be a developer was back in the 1980s/90s. Your tools were limited but those constraints took away a lot of the "overhead" thinking about what frameworks to use and you could just focus on functionality. You didn't have Google or StackOverflow, but had a few books on your desk that covered pretty much everything you needed to know. Or if you were working on Unix, you had man pages, K&R, and Kernigan and Pike's The UNIX Programming Environment


The reason was you weren't competing with the world class. Programming was great because you could be a local hero.

Now everyone strives to make as beautiful websites as <insert big blue with their genius web framework>


We also didn't have security issues, which helped.


In the same way that Visual Basic offered simple, drag & drop interface builders.

What happened is also changing hardware, UIs that need to adapt to changing screen sizes, different needs, theming, and many more.


Making resolution-agnostic applications in C# Winforms wasn't hard, it was a simple flag to tell the OS how to scale the GUI. And if you used the native widgets and set tab-indexes you'd be all set for changing sizes, blind users, OS re-theming, etc. A good UI framework should handle that stuff internally... even a bad one should do that (bad, like how winforms set the wrong default font).

Imho, the real reason we don't see stuff like this for the Web is that the web isn't designed for modularity. CSS, Javascript, and HTML IDs are all global.

Programming 101 lesson 1 is "don't use globals" and the Web is the perfect object-lesson in why not.


CSS - Yes. JS - Not since 2015, I'll admit that is somewhat recent. HTML IDs - IDs are only good if they're unique. Since HTML had no notion of scope, they became global. Shadow DOM is the web platform answer for modularization, however any JS framework will allow you to slice your CSS and HTML in components.


> if you used the native widgets and set tab-indexes you'd be all set for changing sizes, blind users, OS re-theming, etc

> Imho, the real reason we don't see stuff like this for the Web

Where are you looking on the web? tab-indexes and extending native web components gives you responsiveness and accessibility. The browsers provide theming capabilities for light and dark mode, and OS level color preferences (I use "red" for selected on Mac) easily show themselves on CSS `outline` etc

> Globals

No one uses globals on the web. This isn't 2000, or even 2013.


Everyone seemingly unaware that this still exists and you can still do it in Hejlsberg's C#? Drag and drop WPF components and program in code-behind? With themes and responsive design?

(Big asterisk: mostly Windows-only and has recently lost product direction coherency)


My biggest problem with the drag and drop builders was how it played with version control. The last I used was nearly 20 years ago - Windows Visual Studio C++ with MFC. Even if the builder produced C++ code, it was hard to know exactly where and how the changes were made. CVS (and maybe svn?) didn’t exactly like tracking those changes.

Is that any better now?


One thing I really liked about Delphi was its strict separation between generated and manually-written code. Delphi had a dedicated text file format that represented the form built in the GUI builder. So, VC would just pick up changes in the form file and save them like anything else.


Also Android Studio, XCode, all the React builder websites, etc. Basically every GUI platform + IDE has some form of a drag & drop interface builder.

The problem is that outside of the iOS ecosystem, there are too many subtle differences in behavior to really trust the results. And because a lot of software gets worldwide distribution these days, it's economically worth it to squeeze that last bit of performance & user friendliness out of the framework. So most professional programmers learn how to do things programmatically and only use the interface builder if they're doing a quick internal tool.


WinForms still exists and is fine for the odd quick utility. Doing WPF without ever having to drop in the XAML is... unlikely to say the least. You're going to end up in there are one point, because styles are fucking you over or for some other reason (databinding? lol). But yes, C# is still keeping the drag & drop alive. So are plenty of tools (Lazarus, hell even Android Studio has a drag & drop designer).


Windows forms are great, whilst WPF is a bit odd,to say the least.. Here's an example:

https://docs.microsoft.com/en-us/visualstudio/get-started/cs...


I would almost like WOF is component styling wasn’t one of the most miserable clusterfucks of XML boilerplate I’ve used.


Delphi still exists and you can still do it in Delphi. Responsive. Cross-platform on Android, iOS, macOS, Windows, and Linux. Single codebase single UI.


Can you point to any Delphi app on the android playstore that doesn't look and feel like shit? Or a Linux app? I used to be a Delphi fan, but the results I've come across are not exactly convincing. Compare this to Flutter, which looks and feels gorgeous, at least on Android.


> UIs that need to adapt to changing screen sizes, different needs, theming, and many more.

People keep saying that as if that is this new thing that wasn't ever heard of before the web or smartphones.

Open any desktop app and resize it. Boom, you've got "changing screen sizes".

And yeah, "needs are different, and we need theming is this new thing that never existed before the iPhone ".


I think forced aspect ratio was very common in the era of these oldschool UI toolkits. Additionally, handling multiple classes of pixel density and input (touch vs mouse) was unheard of.


> Fast forward to today and we are in this clusterfuck, where everyone keeps reinventing the wheel and complexities just keep growing

Yes, it is quite funny to see how no toolkit exists to simply produce Web UIs in a meaningful way.

However, the complexity has grown largely from externalities that didn't exist during the time of effortless interface builders, which is screen sizes and aspect ratios and pixel densities of all sorts. To handle this, you need to have some lower level primitives, and of course any time you have to go to a lower level you surface more complexity.

Final point - as a person who develops web UIs professionally for 7 years now, I think that the "reinventing the wheel" has been actually quite beneficial to tame this complexity. Previously, untyped JS had to be bent into surfacing type-style error messages, and good luck with boundary crossing data. Now, TypeScript lets you describe every key in your application and have incredible confidence that a fully-typed piece of UI or logic (which of course must avoid `any`) will deliver exactly what you intended. GraphQL & codegen has given us the ability to type our boundary crossing data straight from our DB or resolvers without any runtime reflection. Runtime reflection tools like io-ts also bridge that gap admirably to program defensively in the situations it's needed. It's obviously been accompanied by a lot of churn, but with strictly typed component libraries, a bit of reusable layout logic, and Hasura, I can make sexy fully-themable UIs strictly typed all the way to and from the data source without significant effort. The complexity in my new paradigm is entirely in application-level tricks like UIs visually informing users of all the async actions, animations / transitions, avoiding dynamic content causing bad layout blips, and ensuring user input is never lost. I think this kind of thing wouldn't have been easy in any oldschool toolkit because it inherently requires some wiring that isn't easy to surface


> where everyone keeps reinventing the wheel and complexities just keep growing

Cue XKCD "Standards" comic. People look at an existing framework and declare "this is total shit, I can build a better, easier to use version!" They then start building the better-easier and realize why the old version is so hard to use--because it's a difficult fucking problem begetting awful complexity + shitty code.

This repeats itself every 18-24 months, giving us the current clusterfuck of JavaScript libraries. Lather, rinse, repeat for the past 30 years (n.b. XWindows Athena -> Xt -> Motif/Lesstif -> ...<aeons pass>... -> Qt -> Electron)


The user downloads a browser that downloads the site-specific javascript application.


But in today's reality, there is a lot of Javascript that is getting "downloaded and installed" into your browser's cache. It's all being managed for you and it mostly works.


Please, you must not be pedantic in this way, it's clear that I mean there's no install wizard and OS-native interactions the user must go thru, they just provide a string URL and immediately begin application-style interactions after a brief load


It's not really pedantic. Since any application (not just a browser) could provide the same download-interpreted-code-then-run-it functionality.

It's probably not this particular feature of the web browser matters but the fact that web browsers come preinstalled with new computers.


> It's not really pedantic

I mean, if not pedantic, then perhaps grinding an axe - he said 'there is a lot of Javascript that is getting "downloaded and installed"' as if that has anything to do with the user experience I was referring to

> any application (not just a browser) could provide the same download-interpreted-code-then-run-it functionality

I have never heard of such a platform besides the web. That is why the web became the dominant platform. I do not know what theoretical could've would've should've has to do with the reality of technological evolution

> It's probably not this particular feature of the web browser

... yes, it's not the ease of use that makes users like web, it's that computers in 2021 come with browsers installed that makes users prefer web over bloated desktop applications without good accessibility anyways!

I have no clue what your comment is meaning to get at.


>I have never heard of such a platform besides the web.

Steam comes to mind.

> ... yes, it's not the ease of use that makes users like web, it's that computers in 2021 come with browsers installed that makes users prefer web over bloated desktop applications

Wasn't comparing to "desktop applications." I was saying that the reason that the download-code-then-run-it functionality was shoved into the browser rather than coming in some other form, was that the browsers were already on all the desktops.


Compare and contrast today's Javascript-in-browser dependent applications versus a pure server-side-rendering model. With the latter, there is truly no software downloaded, only static assets such as images.


It was the pinnacle of an era that was gone with the rise of the Internet.


That does not diminish the accomplishment in my eyes.


It doesn't, but that doesn't help us now.

See Flash.


Hetzner is super affordable alternative to AWS, now with a DC in US, east coast.


I have pms3003 you can get for about 12 USD on AliExpress.

I bought a small usb-to-serial adapter connected to Raspberry Pi Zero W.

Here's a combo with a similar device here:

https://www.aliexpress.com/item/32617788139.html?spm=2114.12...

There are plenty of comparisons available online, but there's a good overview site here: https://aqicn.org/sensor/


It's good that the banks can be bailed out. It's good there's some inflation. It saves capitalism from itself (the rich acummulating all or practically all the coins).


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

Search: