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

Because despite all the fear, uncertainty and doubt thrown at the C language over the last 20 years, the truth is that its a relatively 'easy' language to use.

What do I mean by 'easy' ?

C books can typically be about 300-500 pages give or take. Compare that with modern languages especially a Java book in the 2000's, it would be closer to 600-1000 pages.

Why? Because half the book is talking about Object Oriented Programming.

C is simpler by comparison, once you get your head around it quirks and gotchas. Afterall, every language has their own gotchas!

To me, there is a difference between good C programmers and bad or non skilled ones. Those that understand C can write some good and efficient programs that care about performance and memory.

With all the above... the truth is that you could write this towards ANY language. They all have their pros and cons.

> I don't understand why anyone would still start a new software project in nodejs today, given the long track record of mistakes developers can make in it.

> I don't understand why anyone would still start a new software project in python today, given the long track record of mistakes developers can make in it.

> I don't understand why anyone would still start a new software project in java today, given the long track record of mistakes developers can make in it.

And dare I say this one...... ???

> I don't understand why anyone would still start a new software project in rust today, given the long track record of mistakes developers can make in it.

OK. You can argue that rust is not old enough to be labelled the "..given the long track record.." - but everything else stands.


Maybe I'm an old fart - but I miss when you could purchase a game and play it. No need for internet or signing up. Insert, press power, and play.

I understand times have changed. You cannot just insert a cartridge or CD\DVD and run. Games are so large that running off a disc is not good enough anymore. They need to be installed on a hard drive. I wouldn't be surprised that some games are so large they require more than 1 bluray disc. However, they should still work "out of the box"

Well this should be the case for single player mode. For multiplayer then you may need to create an account, etc.

I don't know.

Just seems that even when you purchase a physical copy it does not contain the full game. You still have to access the internet to download additional content.

Truth is ownership. Do you really "own" your physical game? I mean you own the Disc it's on but the contents all go through the games console and their services. You essentially own the rights to play the game!

It's nothing new with Microsoft since Windows 95 (even 3.1) and their end user license. You never owned it. It's just times have changed, now. Microsoft are not just trying to control your computer via its operating system, but to control the whole computer itself.

Why is this any different for game consoles? Do you really "own" the console? I mean I am willing to put money down that one of the 3 Companies would lock you out if you tried to do something on Sony, Microsoft, or Nintendo's latest systems that "you shouldn't be"

Let that sink in. You spend how much on a console... and it really is not yours. Oh, and how much do you spend on games... and it really is not yours. Yes.. physical or not!

None of this surprises me. However, I do not know what the solution is, either. Well, other than if you purchase it, it is your copy! If it isn't, then why should I spend over £/$40 for these games?

I believe this is a chunk of the reason why I am not a gamer anymore. There are some games I still play but I don't know if I will every play the latest and greatest of games including GTA6. Maybe one day.

If I made a game - I would still follow the old method. Maybe use Steam. If you buy it then you get the files. It's yours! You can play it! It would work without the need of the internet!

Could some people pirate it? Sure. However, I am confident that if the game is good or atleast enjoyable then I would have received a nice sum of money - or atleast allow people to buy me a coffee through my website if they enjoyed it.

The biggest power is consumers have is our wallets. Say no if you disagree and don't give them money. I am willing to do such a thing. Sadly, the majority don't care. They just want ease of use. This is not just about games, but many things.


> GNU turned out to be barely relevant

GCC, GDB, CoreUtils, etc - A COLLECTION of useful programs alongside a kernel such as Linux.

Barely relevant?

We owe our thanks to the GNU project. If Linus did not create Linux, something else would have taken it's place. "Maybe" HURD... or maybe something else.


Are you not using vendor-lockin-licensed LLVM instead?

NetBSD or one of that ilk.

> HTMX makes it hard to build even basic things, because it swaps entire HTML forcing a full repaint. That's the foundation of how it works.

I 100% disagree with this comment.

Lets make this clear, htmx does not swap 'entire html' - you have control to refresh whatever section of the page. That is not a full repaint.

I am beginning to wonder what tests you have done in htmx before making such a verdict.

Yes - I break my Views into "small components" - I guess it's better to say I create a lot of Partial Views. I follow a simple 'where there's one, there's many' mindset. All Partial Views are designed to return an array, even if what I need is a single record.

> Examples include user highlighting text

I've written an Application (in htmx) that has a text area for sentences. There is 'compile' function that breaks down the sentence, colouring specific words/phrases. How does it do this? htmx! It sends it back to the server-side and builds the sentence.. returning back the html with coloured texts and other meaningful attributes. It overwrites that section of the screen. It is light and fast!

The great thing is all validation and html rendering is done of the server-side. No code duplications or anything.

Now, this is perfectly fine for what I am doing. However, the text is barely no more than 30 words. If I was trying to write a text editor the we have a different type of problem. If using htmx, would likely work it out to update a portion of the editing code, perhaps per line. This would move it away from using a text area.

> Or user mid scroll through a menu, the scroll is reset to the top

I believe, with the text solution I mentioned above, I also pass it the cursor position. As we are processing the text, any changes may move the cursor - so I let the server-side handle it. This is great because the functionality written is not designed for just the web - but any 'text area' in any GUI!

From memory, with some javascript, I managed to return to the caret position once the html section was refreshed. I cannot remember 100% how I did this as I do not have access to the source code.

> On game dev: I think it's good...

I've already commented about game dev and htmx. I will paste that section here:-

Would I use htmx if writing a web-based game? probably not. I guess it would depend. I would assume I'd be writing a fair be of javascript for WebGL-based rendering and typical update logic (input, physics, health, etc)

Maybe WASM is a better choice in this domain. I don't know.


I am one of those 'htmx lovers' but I do not comment that is the be all to end all.

Every website you create, just like any form of application, is based on solving a particular problem. How you solve that problem can vary from dev to dev. Some devs may disagree you your solution just as you can disagree with theirs.

I do stand that htmx can be used to solve a good chunk of problems that otherwise would be done with React, or angular, and so on. Personally, I think htmx makes the problem easier to solve. Well, once you get over the learning curve of the htmx way.

To be able to build a website or SPA without writing much client code (JS, etc) is a win in my book. You don't need a dedicated front end team for larger sites. Also, the designer/UX team (if you have one) can focus on the server-side template system.

Regardless - frontend is not dead. htmx, afterwall, is written in Javascript. htmx doesn't stop you writing javascript code. It's just I hardly need it for business logic. If anything it might be used to compliment CSS.

Would I use htmx if writing a web-based game? probably not. I guess it would depend. I would assume I'd be writing a fair be of javascript for WebGL-based rendering and typical update logic (input, physics, health, etc)

Maybe WASM is a better choice in this domain. I don't know.


Sounds like you are going through similar struggles as a few backend developers I had trying out htmx. Years of muscle memory with returning JSON and letting the frontend (javascript/jquery) to handle the html.

They were making a big deal with this change. In the end the change is rather minimal. The outcome is reduced javascript code and more server side html templates. Pretty much most of the code is now handled on the server side. Just organise the html templates!

Pseudo example

Instead of :-

<code>

// returning as Json

[Get]

Response GetUser(int id) {

   var user = getUser(id);

   return ToJson(user);
}

</code>

You are just doing :-

<code>

// returning as HTML

[Get]

Response GetUser(int id) {

   var user = getUser(id);

   return View("som-user-template", user);
}

</code>

I don't know what 'hooks' you need, but whatever they are doing you can move them over to returning/updating section of html on the screen with htmx.


By wiring up hooks I just mean binding a callback to a button that calls fetch() and processing the response (usually replacing HTML, but may modify content and classes on other elements). Basically what I'm looking for is being able to specify a callback (ideally just a global name set from HTML) that will be called with a response object when JSON is returned. I prefer most coding to happen server side, but sometimes client side JS is needed.


But you can do this with htmx by using the respected hx-* attributes.

For example, on button click to GET html. Again, you can specify what you want to do with the returned html with attributes such as hx-swap

Unless I am misunderstanding, of course.

I do remember triggers/hooks with things like Angular and Knockout. I don't miss this method of web development.

I recommend starting small and working up with htmx. Their examples section on the official website is pretty good.


Yes - how you likely built websites in 2000's era (possibly with Classic ASP or PHP4 .. maybe Perl?) is the sort of websites we are addressing with HTMX.

It's bringing us back to that sort of web development but with modern tools and technology.

For the server side, we can use modern languages with better templating for html.

For the client, with htmx, you can do a lot of javascript such as ajax calls (load, trigger, etc) without writing javascript. With htmx you specify what you want to do inside html attributes.

So my actual javascript code ends up minimal.

I have been doing website dev since 2008. I've worked with PHP, C# (WebForms, MVC), a bit of python... not to mention maintaining an old website in Classic ASP.

2008-2010 I used C# WebForms. I didn't like it, but we still kept it simple, returning data from server side to html.

2010 I started to enjoy jQuery and saw potential returning data. Opened the door to provide more options for webdev.

Around 2014, I've started disagreeing with "modern website development" learning knockoutjs, requirejs, to eventually angularjs, npm's, etc. Sure, I learned and pushed forward but websites seemed to become more a chore and bloat overtime. Personally, I've not really invested in React.

I was starting to go round full circle to the 'old ways' just with modern tech. To me, htmx just makes webdev even more smoother.


FWIW, there is some decent tooling options for C# with Razor + HTMX that are worth looking at. From JetBrains and others.


Yes - with C# websites - I default to Razor (and htmx) Very fluid, imo.


100%


As much as I really like htmx -- this is a sad truth!

I tried to pitch htmx to my team last year and found an opportunity to create a simple webapp. One of the devs really struggled with htmx after years of muscle memory returning json and rendering in JS/JQuery. It was a lot of "I now have to do this.. how do I solve this problem?"

I think he would have struggled with any different approach whether we changed to angular, react, etc. htmx didn't really stand a chance.

The other dev, on the other hand, didn't even bother to try it.

All I heard from the team was Blazor this, blazor that.

Personally I think it's a shame. We are a small team and would be good to avoid javascript 95% of the time. We could just generate server side code/html which, imo, would create organised code base. Easy to test as well.

Any personal web projects I still use htmx and reached a decent flow with it. Completely simplifies web dev, imo.


At a company I work for, they are doing various changes (and control) over the software we install as we transition to a larger company. I believe they are using Microsoft Intune so they can allow/deny what can be installed.

I have not updated my laptop (or got a new one) because I am concerned they will not allow me to install or continue to use Emacs. Honestly, I can vision how that conversation goes:-

[manager]: Hi, so what is Emacs

[me]: Emacs is a text editor I use daily and makes me efficient in my work

[manager]: OK. I would like us to start using Visual Studio Code with the new projects coming up

[me]: Why? The consumption models we are using has no VSCode support, anyway.

[manager]: It would just be good if we are all using the same tools

[me]: It should not matter what we use as long as we work with git and deployment. If someone else is great with a different text editor why force them to use something else?

[manager]: (Looks up emacs)

[manager]: I think its best we stopped using it because it is not supported by Microsoft and we need to be careful with the dangers of open source.

[me]: OK. Should we contact other IT departments to replace any open source tools they use?

[manager]: Its just emacs is not verified software for the business. I think you are complicating things a little (tries to belittle me)

[me]: Emacs is my daily driver! If it goes, I will hand in my resignation!

* Manager is not there to understand or reason.. he is just following orders from other IT departments. *


I worked briefly in public administration at one point in my career. I asked the admins the same thing, could I get Emacs installed on my machine. I got a bit concerned when the admin staff asked back: "What is Emacs?"


I was a bit surprised when about ten years ago I noticed that there were now really only two reactions to my Emacs use:

"Emacs? What's that? Oh, sorry, I like things with an actual UI."

Or:

"Emacs? I remember that from my DEC days. I'm surprised it's still around!"


Start sending out your resume and reaching out to your network about other jobs.

Any company that anally controls every last software developers can install is a dead man walking. At least the software development part of the company.

Getting up to speed on new tools and new technologies is essential to the job of software development. Projects will grind to a halt and fail to deliver, but the management will never understand the InTune lockdown is the cause.


Hi jimbokun

Thank you for your message. I appreciate you going out of your way and showing care for others - in this case my career.

I have updated my resume and looking.

I have a couple of years left in order to look after (what I now call) our legacy software, which we wrote, until we move over 100% with the new tools. It is dead end as a software engineer and don't intend to fall behind.


Over the past 15 years, I worked for 4 different companies in 4 different industries and I never had any trouble getting Emacs approved.

They were all rather smallish, always around 200 employees, though.


The company I work for is pretty much washing its hands and going with off-the-shelf solutions, instead.

We are transitioning into a role that's mostly extending a main business software internally and externally. Externally it is using Logic Apps or Power Automate or Power Apps, etc.

With this, the "core" tools we are using are no longer needed in the minds of upper management, which is why I am concerned changing laptops that are fully setup with Intune.

This is also why in my meetings with management they are subtly suggesting software well before we move onto these modern projects - as if I wont understand what they doing.

technically we are still developers but not the way we were originally hired, and I am confused how we are going to hire new staff in this area... and the type of skills we require.

With all the above, I can see them being difficult with Emacs and other software I use.


I scheduled my intune upgrade when I needed a week off for doing house moving stuff. I was told Emacs would work, didn't. Took them about a week before I could use it again.


Back in the day when i had a windows laptop for work you could just download the windows binary distribution of emacs and run that, has something changed?


This is what I do when I use Windows. However, in recent years, I tend to use Emacs via WSL.

However, I believe Microsoft Intune is used within the Business to control what software can and cannot be installed. So my guess is Windows won't allow you to install via a typical .exe

I am not suggesting the above is 100% valid. I just don't want to get a new laptop and find out. Maybe I can still use Emacs via WSL... bypassing Intune????

At the end of the day, I understand Security is getting much more serious in recent years - and we even have a dedicated department - but controlling the software to install is crazy, especially for a development team.


Does Intune stop you from running any unapproved .exe's? Because IIRC Emacs can run as a "portable" executable that doesn't need to be installed in Program Files.

(I don't have any experience with Intune so pardon my ignorance.)


Yes, running software that is not authorized can get you fired.


Depending on the job, you can likely be fired without cause anyway. You can pretend to not poke the bear, but in a place that plays power games like that, it doesn't really matter.

Presumably performance matters above all else (although it likely doesn't in such a place). If Emacs actually makes a meaningful difference, then just use it to do your work more efficiently.

You can run a batch/shell script, right? Of course you can. Would you ask for permission to write and run a script? If not (and presumably you wouldn't because that would be silly) then you shouldn't ask to run Emacs. You "own" both and take on all the "risk". There's really no difference.

But really, truly ask yourself, is whatever cause you're working towards (that is, the mission of the company) worth sacrificing your dignity for?


Any company that locks down the software developers can install is dead already.


> they are doing various changes (and control)

OMG. Don't let me even start here. Corporate IT cultures sometimes are so exhaustingly cretinous. With straight faces they'd perform "security theatre" that has nothing to do with security, but is still just so infuriatingly time-consuming and ignorant on even most basic things. Honestly, I am so thankful to Emacs for cultivating a hacker's mindset in me, otherwise I'd be so freaking burned out all the time if I didn't know how to bypass most of the nonsense they enforce on everyone. I even asked my IT guy once: "I don't get it, don't they realize that devs are just gonna play along with this bullshit maybe a couple of times and then they'll just fucking script a workaround? I for sure will...", and he was like: "I know, it is so stupid, but hey, I don't make these decisions here..."


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

Search: