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

Python pdftools to convert to images and tesseract to ocr them to text files. Fast free and can run on CPU.

TCC is less than a meg to download supports win32 very well and as an added bonus created executables run fine under linux wine.


Why wouldn't it?


TCC supports win32 and is less than a meg download and as an added bonus supports linux very well thanks to wine.


I don't understand, just use scite editor with tcc. About a couple of megs download, no install required and your apps will run on everything from win 98 to linux with wine. And if the answer is c++ support then you get all the pain you deserve using that cursed language


I was thinking that this looks a lot like prolog or even make with rewrite terms


Literate programming is alive and well in 2025.

https://leo-editor.github.io/leo-editor/

https://kaleguy.github.io/leovue/#/t/2

https://ganelson.github.io/inweb/inweb/index.html

Inform 7 is arguably one of the largest programs ever written in literate style.


I personally think IDE makes for worse programmers vs just using a text editor.


Why not just use a verifiable subset of C? https://compcert.org/compcert-C.html


Compcert guarantees that the executable that comes out does what the code that went in said, it doesn’t guarantee much about the code that went in.


There's also Frama-C, but having used both Frama-C and SPARK I can say I'd pick SPARK any day. Having a rich type system and not having to work with pointers makes proving a program so much easier.


Right, Frama-C can formally prove properties of C code.

There are also proprietary solutions that do something similar:

https://www.eschertech.com/products/ecv.php

https://www.trust-in-soft.com/


Imperial vs Metric is a hard requirement not a convention or formatting. I have a co-worker who wants everything to be a one liner, doesn't like if/else statements, thinks exception handling is bad and will fail a code review over a variable that he feels isn't cased properly.

This makes code reviews super slow and painful, it also means you aren't focusing on the important stuff. What the code actually does and if it meets the requirements in functionality. You don't have time for that stuff, you are too busy trying to make this one person happy by turning an if else into a ternary and the end of sprint is a day away.


If a reviewer is regularly rejecting PRs because the variable names have incorrect capitalization then that's a problem with the author, not the reviewer. That is the incredibly basic shit you decide on at the start of a codebase and then follow regardless of your personal thoughts on what scheme is preferable.

If/else vs ternaries is something where consistency is a lot less important, but if you know that a team member has a strong preference for one over the other and you think it's unimportant then you should just write it how they prefer to begin with. Fight over things you think are important, not things that you think don't matter.


wtf... no.

I worked with a guy where you would try to predict what he would bitch about next. In this example, you would write it as a ternary so you don't have to hear about it ... and he'd suggest it be an if-else statement.

Nobody fucking cares which one it is; is it readable? That's the real question. Your preference of which version of "readable" it is only applies when you are the author. If you're that picky about it, write it yourself. That's what we eventually did to that guy after the team got sick of it. Anytime he'd complain about something like that, we would invite him to write a PR to our PR, otherwise, get over it. Then, we would merge our PR before he could finish.

He eventually got fired for no longer able to keep up with his work due to constantly opening refactor PR's to the dev branch.


> will fail a code review over a variable that he feels isn't cased properly

Many projects have fairly strict rules about identifier naming conventions, so this doesn't feel so far fetched to me.

The example about if/else vs ? : is pretty damning though.


Sure, but if there are actual rules, agreed to and accepted by the entire team (as opposed to one guy's idiosyncratic preferences) then there should be a commit-hook to run the code through a linter and reject the commit if the rules are violated.


Yes indeed. I'm a fan of getting the team to pick an already existing lint ruleset and then doing this. You can also set to only lint changed files if you want a gradual change over in existing codebase.


All source code is self documenting, source code is for developers to read. Computer languages are a human readable version of what the compiler executes and is for the developers, not the compilers benefit. As a developer, I read way more software than I write and if the source is hard to understand then I feel you failed as a developer. Writing is a skill, no less important in software than anywhere else. Properly named functions/variables and easy to follow flow control is a skill that takes years to learn. All developers should keep a thesaurus and a dictionary nearby. If you find yourself writing a lot of comments trying to explain what you are doing in your code, then you probably should refactor.


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

Search: