profile
viewpoint
Harish Karumuthil harish2704 Thrissur https://harishk.in/ Nodejs developer

harish2704/android-python2.7.3 8

Python for android phones

harish2704/books 1

Free Desktop book-keeping software for small-businesses and freelancers.

harish2704/django-full_dynamic 1

A Django example application implements fully dynamic models and forms, using eav-django package

harish2704/ace 0

Ace (Ajax.org Cloud9 Editor)

harish2704/active-snippets 0

Active-Snippets is a bit advanced snippet manager, written for developers

harish2704/active-snippets-api 0

Api server for active-snippets

harish2704/adminer-standalone 0

standalone adminer wrapper script for unix env

harish2704/alacritty-ubuntu-16.04-x64 0

x64 bit package of Alacritty termianl, for https://github.com/harish2704/installer-scripts

harish2704/angular-schema-form-bs-extra 0

Some extra bootstrap widgets like Typeahead, select2 etc for Angular-Schema-Form.

harish2704/auth-module 0

🔑 Zero-boilerplate authentication support for Nuxt

startedTensorSpeech/TensorFlowTTS

started time in 23 days

issue commentcamelot-dev/excalibur

Integrate with Tesseract ocr and allow image uploading

Hi @arky : Thanks for your message.

I checked the project you mentioned. The description of the project says

"OCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched"

In my understanding, this is an built-in feature of Tesseract OCR. That is, if we set output format as PDF, we will get a PDF with additional Text layer.

Thus, without clearly understanding the real benefit of using "OCRmyPDF" , I will not suggest to integrate it

harish2704

comment created time in a month

push eventharish2704/objection.js

Harish Karumuthil

commit sha 1ffd4eee51306848ce34c811df971ec72b22f1f5

Update multitenancy-using-multiple-databases.md fix syntax highlight markup

view details

push time in a month

push eventharish2704/objection.js

Harish Karumuthil

commit sha 4c5d5c1fe53814fdc6f401075600d62638da012c

Update multitenancy-using-multiple-databases.md Fix links markup

view details

push time in a month

push eventharish2704/objection.js

Harish Karumuthil

commit sha 3553fc25dd27ea7275e2b1fa31357817522a23d3

Update multitenancy-using-multiple-databases.md Connecting to multiple databases by making use of latest AsyncLocalStorage API

view details

push time in a month

startedOverv/outrun

started time in a month

startedkata-containers/runtime

started time in a month

issue commentcamelot-dev/excalibur

Integrate with Tesseract ocr and allow image uploading

Hi @vinayak-mehta , Thanks for your time and response. Regarding your questions:

@harish2704 Can you please add instructions on how to run your fork? Do I need to install tesseract and have it available on the PATH?

I just added uploaded a dockerfile which I was using while deploying the demo site. Please see it here https://github.com/harish2704/excalibur/blob/feat-tessearct-ocr-integration/Dockerfile

It would also help if you can show us the extraction output on some image-based pdfs.

I just started the demo container again. You can see that in action here https://ocr.harishk.in/ . Feel free to test any files ( I actually made this when https://www.covid19india.org/ team faced difficulty to process daily press releases of certain states ( NB: this work didn't helped them much ). Thus I only enabled Hindi+English in the demo site. )

I'm also planning to experiment with https://github.com/JaidedAI/EasyOCR soon.

I have some experience with implementing OCR's ( https://github.com/harish2704/pottan-ocr ) and based on that I would say,

  1. Tesseract is the result of years of work and it has many powerful features.
    • Tesseract 4x+ version are using very powerfull Convolutional-recurrent networks ( which most of the Modern ML based OCRs using ) in a very CPU efficient way ( Neither a similar tensorflow / pytorch model can beat Tesseract on that in the case of CPU performance ). In short, it will be hard to find a ML based OCR which can reliably run as Web service. ( it will be OK if we have GPU )
  2. In the current implementation, We are using PDF annotation feature of Tesseract by which we covert images to OCR'ed PDF.
harish2704

comment created time in a month

push eventharish2704/excalibur

Harish Karumuthil

commit sha 37c2c32828007aaf4bb89ef9725194ae51d0dd20

Create Dockerfile

view details

push time in a month

startedmagicleap/Atlas

started time in a month

startedGlasgowEmbedded/glasgow

started time in a month

startedjsonata-js/jsonata

started time in 2 months

startedrsesek/mailpopbox

started time in 2 months

issue commentjarvelov/vue-form-json-schema

Enhance examples by demonstrating full power of this library.

@sergey-koba-mobidev : You can also see a slightly different version in this example https://codesandbox.io/s/array-container-y446r?file=/src/components/SelectComponent.vue .

The code for SelectComponent is mostly copied from the example which @jarvelov provided, but this version make use of the mixins provided by this library rather than v-model

harish2704

comment created time in 2 months

starteddjrobstep/migra

started time in 2 months

startedvhakulinen/gnvim

started time in 2 months

startedsubins2000/WebDrop

started time in 2 months

startedUnderGreen/ansible-prometheus-node-exporter

started time in 2 months

startedipfs/js-ipfs

started time in 2 months

startedorbitdb/orbit-db

started time in 2 months

issue commentnodejs/node

Feature request: os: os.availableProcessors()

Update: It seems like , cputset related issue inside docker container can be solved using lxcfs ( even without patching docker project ) . See https://github.com/lxc/lxcfs#using-with-docker

NicolasSchwarzer

comment created time in 2 months

issue commentnodejs/node

Not correct os.cpus().length inside the docker container with cpus limited.

@NicolasSchwarzer : I think this problem need to be fixed from "Docker" project.

But, even if docker doesn't provide a fix, we can solve it by using lxcfs . See https://github.com/lxc/lxcfs#using-with-docker

NicolasSchwarzer

comment created time in 2 months

issue commentmoby/moby

--cpuset-cpus is not reflecting the desired behaviour

@thaJeztah

This is a limitation of the kernel, thus not something that can be fixed in this repository.

But, projects like LXC are solving this by providing separate fuse-based alternatives for procfs ( see https://github.com/lxc/lxcfs ). lxcfs even have documentation on how to fix this issue for docker ( see https://github.com/lxc/lxcfs#using-with-docker ).

thefragmenter

comment created time in 2 months

startedsaghul/txiki.js

started time in 2 months

startedmirrorer/libbpg

started time in 2 months

starteddevelopit/redaxios

started time in 2 months

startedLoupVaillant/Monocypher

started time in 2 months

startedlibtom/libtomcrypt

started time in 2 months

issue commentcamelot-dev/excalibur

[Feature request]: Integrate with Tesseract ocr and allow image uploading

@arky : The branch https://github.com/harish2704/excalibur/tree/feat-tessearct-ocr-integration specified in my first comment is already in a "working" condition. I could have sent an PR at that point, but I didn't do that because, I believe my implementation doesn't meet necessary quality as it doesn't complies with the architecture of this project. Thus, I need help / suggestion from Author of this project to integrate it properly .

harish2704

comment created time in 2 months

issue commentnedpals/vex

db_example.v is not working

@nedpals : Wow! That is great news. Thanks for the update.

harish2704

comment created time in 2 months

startedpikvm/ustreamer

started time in 2 months

issue commentnedpals/vex

db_example.v is not working

Thanks for pointing out the case of built-in V SQL syntax. I will check that.

Regarding pure functions: I didn't seen any documentation regarding "variable scope" or "function scope" in the vlang documentation. But it was clearly written that, global variables are not available in V. Thus, considering the fact that functions are pure in V by default, I assumed that functions wont' be able to refer variables defined outside its scope.

harish2704

comment created time in 2 months

pull request commentjarvelov/vue-form-json-schema

Fix unique field id generation algorithm.

@jarvelov

If there is an added performance benefit by reusing the id of the root element I am all for it, I do believe that there is an added performance benefit . Because, in this method, we avoided the use of relative computationally intensive function vfjsHelperHashString with simple string concatenation. Also, we don't have to stringy the data of an element to generate ID.

however I must ascertain that it will not cause any unexpected issues After a rethink, I would say, the only possible point of issue the id property of global component, which uses Math.random as default value. I m not sure how Vue will handle this while re-evaluating the props . If that appearing as an issue, then we may have to "derive" id from other props passed to the global component ( This is one time process, for a single global component )

harish2704

comment created time in 2 months

pull request commentjarvelov/vue-form-json-schema

Add a name for all Vue instances.

@jarvelov : Yes this will work for all events and thus, we can see an consolidated table of all emitted events in this way.

In fact, I did this to check whether my PR https://github.com/jarvelov/vue-form-json-schema/pull/62 is introducing any additional overhead for the library or not.

( Initially I tried fixing unique ID issue by simply using math.random in all element. But Using the above logging, i quickly realized that it was causing unwanted change - validate iterations . Then I changed the logic as mentioned in the current PR )

harish2704

comment created time in 2 months

startedquicktype/quicktype

started time in 2 months

startedtiangolo/fastapi

started time in 2 months

startedncform/ncform

started time in 2 months

issue openednedpals/vex

db_example.v is not working

Hi, I tried running the db_example.v provided in the example. It seems like it wont run as per the spec of the vlang. But , I was able to compile the db_example.v to C code, but the generated C code was not compiling to executable .

The problem is at the point of reffering db variable in route handlers. For eg: here

As per the documentation of Vlang, functions are pure by default, thus, it can not use any variable defined outside of the function right? ( But still, I m surprised on the fact that, V file compiled successfully to C code )

if that is the case, how we can expect this to work ?

( I manually edited the generated C code and made slight modifications to allow global variables, then C code successfully compiled and I was able to run the example. I seen the example in action. It was super cool. Thanks! )

created time in 2 months

issue openedjarvelov/vue-form-json-schema

Enhance examples by demonstrating full power of this library.

Hi,

This is just an humble request based on my personal opinion about the provided examples.

I had noticed this project long time ago, ( because, I was always a fan of "json-schema-forms" from Angular 1x era )

But, I failed to understand the full power of this library when I seen this project first time. It is because, the example provided was little bit confusing or miss-leading.

( Please don't get offended. My linguistic skills are not that good. I don't know how to explain things properly. this is a wonder full project I am just explaining what I thought when I see this project first time. )

For eg: consider the example Registration form example with nested properties. The UI schema of this example contains ~500 lines.

When I seen that first time, I thought

" Hmm.. It seems like we are passing the entire virtual dom of the form through the UI schema "

When I seen the schema defnition as given below , image I though, we have to pass a virtual-dom equivalent of a bootstrap-form as UI schema.

That made me to navigate away from this project.

I had to revisit this project after many months to realize the full power of this library.

I don't want let other users to do the same mistake I did

So, my suggestion is to provide examples using custom components, instead of using very large and complex UI schema.

In this way, anyone who look into the examples will understand that , this library is pretty hack-able using custom components.

Most people will be using a CSS framework / ui library for their project. By providing examples based on custom components, users will understand that, this library can be integrated into any css frameworks easily

Also, most importantly, users may consider examples as "preferred way" of doing things. IMHO, using complex UI schema should not be a "preferred way" of using this library. "Preferred way" should be the use of "custom components"

I can send PR for more complex "Kitchen sink example" if you agree .

-Thanks for this wonderful project.

created time in 2 months

PR opened jarvelov/vue-form-json-schema

Add a name for all Vue instances.

It will help while debugging / performance analysis. For eg: it will help while monitoring emitted events.

an example event logger will look like this


import Vue from "vue";
import debounce from "lodash/debounce";

class Logger {
  constructor( timeout ) {
    this.logs = {};
    this.flush = debounce(this._flush.bind(this), timeout );
  }
  log(by, event, payload) {
    this.logs[new Date().toISOString()] = { by, event, payload };
    this.flush();
  }
  _flush() {
    console.table(this.logs);
    this.logs = {};
  }
}
const logger = new Logger(1000);

Vue.prototype.$emit_orig = Vue.prototype.$emit;
Vue.prototype.$emit = function(event, payload) {
  logger.log( this.$options.name, event, JSON.stringify(payload) );
  this.$emit_orig(event, payload);
};

+1 -1

0 comment

1 changed file

pr created time in 2 months

push eventharish2704/vue-form-json-schema

Harish Karumuthil

commit sha e6fb04d24d282737ecdcd6ecb14c000fd8eb4700

Fix unique field id generation algorithm. Unique id of every element is derived from 1. parentid 2. position index of current element. This commmit introduce an optional property "id" to global component. Default value is randomly generated using Math.random. Fixes #61

view details

Harish Karumuthil

commit sha e9f1e6587e0b25df8e814cefbedb3666af59cfa9

Add a name for all Vue instances. It will debugging / performance analysis. For eg: it will help while monitoring emitted events.

view details

Harish Karumuthil

commit sha d339a653dfe5fd5374de8f7ffb628b7c28f2619c

Merge branch 'fix-unique-id-gen' * fix-unique-id-gen: Fix unique field id generation algorithm. Unique id of every element is derived from 1. parentid 2. position index of current element.

view details

push time in 2 months

pull request commentjarvelov/vue-form-json-schema

Fix unique field id generation algorithm.

After this fix, the unique ids will look like as follows image

Please note that, in the screenshot, the string "yxvmd702z" is the id of root schema-form component. it can be specified manually, or if not specified, a random id will get generated.

harish2704

comment created time in 2 months

PR opened jarvelov/vue-form-json-schema

Fix unique field id generation algorithm.

Unique id of every element is derived from

  1. parentid
  2. position index of current element.

This commmit introduce an optional property "id" to global component. Default value is randomly generated using Math.random.

Fixes #61

  • Unique id for every element is generated by simply appending the position index with parentid.
  • Thus, we can remove more cpu intensive vfjsHelperHashString function.
  • The parentId is the unique id of parent component
    • parent component can be either a form or a field
  • The id of top most form component is auto generated using Math.random.
  • Since id is a function of parentId and element index, we will get consistent , but unique id for each component
+15 -36

0 comment

3 changed files

pr created time in 2 months

create barnchharish2704/vue-form-json-schema

branch : fix-unique-id-gen

created branch time in 2 months

issue openedjarvelov/vue-form-json-schema

duplicate field id getting generated.

Hi, First of all, thank you very much for this wonderful , simple, hack-able project.

I tried creating a component which can handle list of items using the mixins provided by this package.

during the testing, it is found that, the algorithm used for generating field id has some issues.

That is, same "unique id" is generated for all items in an an array component.

It can be tested in this code sandbox demo . https://codesandbox.io/s/array-container-y446r

This demo contains two lists ( one list inside another. )

add at-least two items into the list by clicking "add" button, and check the id parameter of similar input fields

For eg: See the screen shot image

created time in 2 months

startedzulip/zulip

started time in 2 months

startedvolument/baretest

started time in 2 months

startedemersion/kanshi

started time in 2 months

startedphillipberndt/autorandr

started time in 2 months

startedjtheoof/swappy

started time in 2 months

startedBiont/sway-launcher-desktop

started time in 2 months

startedseanmonstar/warp

started time in 2 months

startedgalvez/fast-vue-ssr

started time in 2 months

startedhorhof/quickjs

started time in 2 months

startedGoogleChromeLabs/jsvu

started time in 2 months

issue commentfrappe/books

Self Host in Cloud Server

@surjithctly : it is failing because, the platform you are using is not able to fetch the GitHub dependencies I specified in the package.json file.

But if you take a look at https://docs.npmjs.com/files/package.json#github-urls, there is nothing wrong my version of Package.json.

Thus , I think it is bug of the upstream platform I hope the repo will run if you try to run on your local

surjithctly

comment created time in 2 months

startedjahewson/node-byline

started time in 2 months

startedSegfault-Inc/Multicorn

started time in 2 months

startedjmespath/jp

started time in 2 months

startedznck/virtualized

started time in 2 months

push eventharish2704/books

Harish Karumuthil

commit sha d946af62241fc2537caf41fe0aac52902b24df4b

* Point frappejs version to modified git repo * npm script to start server * Fix es6 module

view details

push time in 2 months

startedliyasthomas/postwoman

started time in 2 months

startedapify/apify-js

started time in 2 months

issue commentfrappe/books

Run it as a server?

This is possible . Pls See https://github.com/frappe/books/issues/159#issuecomment-657119072

dushyantk

comment created time in 2 months

issue commentfrappe/books

Self Host in Cloud Server

I tried separating this single monolithic electron app into client-server model ( client is still electron ). for that, patches must be applied to both this repository and its underlying framework.

Also, for running development server using sqlite, this bug fix need to be applied on the "knex" library .

WIP fork of client-server separated version of this application can be found here https://github.com/harish2704/books/tree/cleanup-for-client-server

surjithctly

comment created time in 2 months

push eventharish2704/books

Harish Karumuthil

commit sha 4138efb61d58757462267b8cff7d3d82d990694c

* Point frappejs version to modified git repo * npm script to start server * Fix es6 module

view details

push time in 2 months

create barnchharish2704/books

branch : cleanup-for-client-server

created branch time in 2 months

create barnchharish2704/frappejs

branch : cleanup-for-client-server

created branch time in 2 months

push eventharish2704/frappejs

Harish Karumuthil

commit sha 5b21b6d16648962446563e6a5eb13eb77b70fff4

Feat: "$sum" in fields and "$scope" in filters 1. $sum property in fields to support sql "sum" function in server side. TODO: Better to migrate the query language to something like https://github.com/harish2704/knex-json-query 2. $scope concept in filters to support complex SQL queries. A doc type can define any number "scopes" . A scope is a function which takes knex instance and filters object and returns a Knex query.

view details

Harish Karumuthil

commit sha 7685f236a07b4fbbf669c224af6241e30d4a3f76

Fix: add missing REST Api for "custom methods"

view details

Harish Karumuthil

commit sha a6952b809055e450084d7b582f590898b673a598

Misc fixes

view details

push time in 2 months

push eventharish2704/knex

Igor Savin

commit sha ff56c28b69fa7e56123eaf693b481a961cfbf848

Prepare 0.21.2 release (#3917)

view details

Harish Karumuthil

commit sha 22ace70277df1073e6974026d56cb4216e7a3a29

Merge branch 'master' of https://github.com/knex/knex into fix-escape-single-quotes-in-defalutto * 'master' of https://github.com/knex/knex: Prepare 0.21.2 release (#3917)

view details

push time in 2 months

push eventharish2704/knex

Igor Savin

commit sha ff56c28b69fa7e56123eaf693b481a961cfbf848

Prepare 0.21.2 release (#3917)

view details

push time in 2 months

push eventharish2704/frappejs

Harish Karumuthil

commit sha b5c74a346c0268c89635a950541cbdb597658e64

feat: Implemet "scope" concept for doctypes. Custom SQL queries can be easily abstracted from front-end using "scope" concept

view details

Harish Karumuthil

commit sha 271e9414535e3387984dee1750bfcfa9c4e9bdd2

Fix: add missing REST Api for "custom methods"

view details

Harish Karumuthil

commit sha b0dbc3afe252d0e9ec02921b5b83f786390123be

Misc fixes

view details

push time in 2 months

fork harish2704/books

Free Desktop book-keeping software for small-businesses and freelancers.

https://frappebooks.com

fork in 2 months

fork harish2704/frappejs

Node + Electron + Vue based metadata web framework (inspired by Frappe)

fork in 2 months

startedartf/grapesjs

started time in 2 months

startedjarvelov/vue-form-json-schema

started time in 2 months

startedyugabyte/yugabyte-db

started time in 3 months

startedclovaai/deep-text-recognition-benchmark

started time in 3 months

startedJaidedAI/EasyOCR

started time in 3 months

startedclovaai/CRAFT-pytorch

started time in 3 months

starteddog-qiuqiu/MobileNetv2-YOLOV3

started time in 3 months

startedvarnish/hitch

started time in 3 months

startedupx/upx

started time in 3 months

startedsiilike/certbot-dns-standalone

started time in 3 months

startedenvoyproxy/envoy

started time in 3 months

startedscrumpy/tiptap

started time in 3 months

startedProseMirror/prosemirror-view

started time in 3 months

startedShizukuIchi/winXP

started time in 3 months

startedconnorgr/colorgorical

started time in 3 months

startedakopytov/sysbench

started time in 3 months

startedgajus/roarr

started time in 3 months

startednfs-ganesha/nfs-ganesha

started time in 3 months

startedraadad/node-lwan

started time in 3 months

startedsegmentio/daydream

started time in 3 months

issue commentknex/knex

Preserving execution async resource in events

This issue is solved in latest ( v15 ) Nodejs ( you can verify this by running any nighly build of Nodejs ). The discussion can be seen here https://github.com/nodejs/node/pull/33189 and https://github.com/nodejs/node/pull/33560

amir-s

comment created time in 3 months

PR opened knex/knex

Escape single quoted values passed to defaultTo function

Fixes #3898

Signed-off-by: Harish Karumuthil harish2704@gmail.com

+15 -1

0 comment

2 changed files

pr created time in 3 months

more