[-] kiwiheretic@lemmy.ca 1 points 1 year ago

I thought I would just chime in here if I am allowed. I looked for an official Facebook lemmy but couldn't find one.

I have become a bit satisfied with Facebook as of late. They used to allow tools for embedding social pages into private websites and whilst technically they still do their level of support for such seems to have plummeted to non existent. I don't know if that is a conscious effort by Meta to close down forum support or whether it is because they are moving more towards a "pay to play" business model. This in, my opinion, suddenly erects a huge barrier to entry, to even get started developing with their platform. It would seem to me it would have been more prudent, as a business model, to provide free support to get started but start charging when their products are established or at least have some way to talk to a support person.

What I am saying, in a roundabout way, is maybe the world is ready for a decent alternative, even in the business space, and Facebook no longer seems to be it. I really can't understand how their support has collapsed so badly for developers.

1

After updating my Android tablet it completely changed the layout. Now when the tablet starts up and asks for the pin number the numbers are all tiny. Also when trying to access the drop down menu from swiping down from the top the list of options are all pushed to the side of the tablet. Does anyone know how to get the old layout back?

[-] kiwiheretic@lemmy.ca 2 points 1 year ago

That sounds so StackOverflow

[-] kiwiheretic@lemmy.ca 1 points 1 year ago

That's when I go back to ChatGPT or Google Bard. It's helped me with problems and less aggravation than SO

[-] kiwiheretic@lemmy.ca 1 points 1 year ago

AI exists because not everyone frequents a low toxicity forum like Lemmy.

[-] kiwiheretic@lemmy.ca 1 points 1 year ago

I think SO has had people hallucinating for some time but it wasn't AI driven

[-] kiwiheretic@lemmy.ca 1 points 1 year ago

Like toxic mods

[-] kiwiheretic@lemmy.ca 1 points 1 year ago

Probably the same data that ChatGPT or Google Bard has been trained on which to me makes the distinction moot

[-] kiwiheretic@lemmy.ca 3 points 1 year ago

I think it's that way because of the world today promotes mental health issues. People are embarrassed about their life if they are not doing well and governments like to keep it that way.

[-] kiwiheretic@lemmy.ca 3 points 1 year ago

Agreed. I got ChatGPT to convert python code to JavaScript and I got a buggy code sample back with new bugs.

[-] kiwiheretic@lemmy.ca 13 points 1 year ago

I understand Google and Microsoft getting into it as it makes sense as a "better" Google search but for StackOverflow that sounds like they have just given up on their current platform.

[-] kiwiheretic@lemmy.ca 1 points 1 year ago

I tried postman and came to the same conclusion as you. I couldn't figure it out at all. I downloaded an app for android called "ApI Tester". I might try out ThunderClient, which others have suggested, if it works on Linux.

[-] kiwiheretic@lemmy.ca 1 points 1 year ago

I thought Erlang superceded it?

2

I've been working on a way of analysing a page of text stored in image format (a PNG file) to try and break the text up into normal text, separated text, mathematical equations and things that are just diagrams. I post it here so that hopefully I might get some feedback.

I posted this previously in Reddit but it didn't get a lot of traction or start much of a discussion. I am hoping I might here.

I am by no means an expert in Javascript. My language of choice has been in Python but there was no good way of getting visual feedback quickly and easily as to how well my algorithm was working.

At the moment the whole thing is experimental and more of a proof of concept. In the future I am hoping it will be able to analyse uploaded PDFs and convert them to a combination of paragraph text (possibly using something like Tesseract) and for the mathematical equations to AsciiMath or Latex using something like MathPix. Then I would be able to pass it into some kind of text to speech engine.

I am still at the preliminary stages but a working demo is on https://jsdemo.kiwiheretic.xyz/

Source code is accessible from there but is also on https://github.com/kiwiheretic/textextract

Someone, after viewing an earlier version of my project, suggested that Tesseract should already do this. However, as far as I can tell, Tesseract only gives the location of decipherable text on the page and not things like diagrams.

It was written initially in Python but I converted it to Javascript because it was far easier to debug visually with Chrome developer tools. As a side benefit it also seems to run much faster. It's not particularly optimised so I am sure it could even go much faster.

The process of boxing the characters and rows of text but is probably grossly inefficient but the basic idea is as follows:

Pixel data is converted into horizontal line segments by the data_to_raster function. The line segments being stored in an array of the format [y, [x1, x2], [x3, x4]. [x5,x6].... ] where y is the height offset of that particular image pixel row and data like [x1,x2] says that all the pixels from x1 to x2 are coloured in.

Then find_boxes attempts to reread that array and turn it into boxes containing individual characters. It returns an array of arrays where the inner array takes the form [x1, y1, x2, y2] which describe the bounding box for the character inside. I initially thought it should try and find glyphs (character shapes) by working out how the individual dots were connected to make up a character. However this doesn't apply for the small letter "i" which contains a small dot at the top, for example. Therefore what I opted for in the head is that that a given character is anything that overlaps with its horizontal space. This does render the occasional false positives (like on the first line of the demo where "Ch" are wrongly guessed as one character) but doesn't seem to cause any real problems.

The get_row_sorted function, which is rather badly named, is to sort the boxes of the characters in the array to the order that they would appear in the page from left to right.

The group_into_paragraphs function attempts to divide the rows into paragraphs by computing the quartile of the row spacing and then using that to determine if the previous row belongs to the same paragraph as the next row.

The stepBoxes.step function is then used to pull all the characters out of a two dimensional array (called rowData) where the major index refers to which "line" the characters are onand the minor index is the position of that character on the line. Then I try to do some crude statistical analysis on the median and upper quartile spacing on the spacing between characters in order to further break up a row into independent segments. (You can see this in the demo on the first line and also with many of the lines containing mathematical equations.) This method is pretty crude and there is probably a better way of doing this. This whole function runs on a timer callback for the purpose of running it slower to make it easier to see what is happening in practice.

Plans for the future include a Node JS backend and the ability to load PDFs and have it produce a new PDF with image of text replaced by actual OCR'd text.

This code is by no means work of art. It needs to be refactored. I am just not 100% sure yet where that refactoring should occur. Certainly it could be made more Dry. The code could contain Javascript generators instead of loops in some places. However I think there are also places where it is unavoidable to run through an array or list twice. For instance in computing the median spacing between characters which also requires a sort. I probably also need to do the same thing for the text rows in order to identify where the paragraphs are.

Even at this stage I am happy for anyone to point me to a library or web application that already does this. Especially if it can convert the mathematical equations into text as well. (I just don't know of any.)

Anyway, constructive criticism and advice are welcomed.

Thanks

view more: next ›

kiwiheretic

joined 1 year ago