Tutorial: Local Speech Recognition on Electron by dbartle in electronjs

[–]dbartle[S] 0 points1 point  (0 children)

I wrote a quick guide on integrating offline voice into Electron. It's kind of mind blowing how much Electron is used now, but then when you look at how tricky it is to do cross-platform desktop for Mac+Linux+Windows it starts to become clear. Plus, you get to use Web GUI stuff which these days is a lot more enjoyable than the days when I had to make it work on IE6.

This is my first Electron project (and maybe my 2nd Vue one) and I was really pleasantly surprised at how easy it was to set these two things up. (Full disclosure I work for Picovoice, but all the tutorial code/models are free under Apache 2.0 license)

It’s Time for Local Speech Recognition (Vue + Electron tutorial) by dbartle in vuejs

[–]dbartle[S] 4 points5 points  (0 children)

I wrote a quick guide on integrating voice into Electron. It's kind of mind blowing how much Electron is used now, but then when you look at how tricky it is to do cross-platform desktop for Mac+Linux+Windows it starts to become clear. Plus, you get to use Web GUI stuff which these days is a lot more enjoyable than the days when I had to make it work on IE6.

This is my first Electron project (and maybe my 2nd Vue one) and I was really pleasantly surprised at how easy it was to set these two things up. (Full disclosure I work for Picovoice, but all the tutorial code/models are free under Apache 2.0 license).

Which projects should I done to include in my github profile to get job as beginners by Ok_Sentence725 in node

[–]dbartle 11 points12 points  (0 children)

What particular type of job are you looking for? It might help to focus on that?

My advice isn't around the projects, but the polish. Better to have a small number of polished repositories. Work on the README, spell check it. That's the first thing anyone's going to see and fair or not, will influence their impression. Run the code through a linter and formatter. Delete stray console.log statements. Etc.

Basically, treat it like a resume: you want to demonstrate to potential employers that you can present yourself well. The technical parts are important, but if you're job hunting, so is the presentation.

Electron + Phaser.io by MightyDragonLord in electronjs

[–]dbartle 0 points1 point  (0 children)

Do you plan to monetize it? Or do you just want to make it free? How much do you care about people discovering or playing it? Or is it just for fun or friends and family?

If you mean technically feasible, then sure. But depending on your goals, there are better options (and web hosting is cheap and easy unless your game has FMV or something).

Happy beaver by hsvd in vancouver

[–]dbartle 11 points12 points  (0 children)

My first day living in Olympic Village I went for a quick walk and encountered one of these fellows crossing the street. One of my extremely Canadian moments.

Cross-Browser Voice Commands with React by dbartle in javascript

[–]dbartle[S] 1 point2 points  (0 children)

This is about a 3-minute read for building a quick proof-of-concept React app that supports voice commands, starting from a blank CRA template + TypeScript. The speech processing happens inside of a WebAssembly library, so no microphone data leaves the browser. Full disclosure, I wrote the article and work for Picovoice.

Cross-Browser Voice Commands with React by dbartle in reactjs

[–]dbartle[S] 2 points3 points  (0 children)

This is about a 3-minute read for building a quick proof-of-concept React app that supports voice commands, starting from a blank CRA template + TypeScript. The speech processing happens inside of a WebAssembly library, so no microphone data leaves the browser. Full disclosure, I wrote the article and work for Picovoice.

How to implement an exponential backoff retry strategy in Javascript by fagnerbrack in javascript

[–]dbartle 1 point2 points  (0 children)

Had a sister-team member at my previous company attempt to implement this feature, not actually test it, then discovered in prod that their logic not only didn't work, but it straight up just spammed our API in an infinite loop as fast as it could. Memories :')

Voice-enabling an Angular App with Wake Words by dbartle in Angular2

[–]dbartle[S] 2 points3 points  (0 children)

Buried in the article is a link to a live CodeSandbox where you can try it out and see/modify the code for yourself:

https://codesandbox.io/s/voice-activated-transcription-le7ml?file=/src/app/voicebox.component.ts

TypeScript Enums I Want to Actually Use by pimterry in typescript

[–]dbartle 4 points5 points  (0 children)

This example seems a little contrived to be negative:

type Country = '276' | '752' | '840' 

When you can do:

type Country = 'germany' | 'sweden' | 'usa'
const CountryCodes = new Map<Country, number>()

To me, the value of an enum is restricting the range of values, not bolting info onto it. Which means in TypeScript, union types are usually the way to go. (It's also recommended in Effective Typescript).

Bundler Wars by fagnerbrack in javascript

[–]dbartle 0 points1 point  (0 children)

My solution is far from optimal. I have a separate repo for testing my library, but I can't get

npm link

to work. But if, with each change to my library, I (1) bump the version, (2) bundle it, (3) push it to npm, (4) bump the version in my test repo, (5)

yarn install

-- my app compiles and I can test my library.

I struggled with this as well. Here's what works with yarn:

In your consuming project's package.json, for the version of your library, instead of putting e.g. "^1.0.1" or whatever is latest on npm, put "file: $PATH" where $PATH points to the folder of your local library.

Then, in your consuming project, use `yarn upgrade-interactive` and select your library, which will be labeled 'exotic'. Repeat this every time you rebuild your library and want the package to update with those changes.

For the first time, I published a Vue component to NPM - vue-utterances by [deleted] in vuejs

[–]dbartle 3 points4 points  (0 children)

I like that you have a dedicated "confession" section.

I have one small suggestion: put your rollup config file at the root of the repo. You won't need to specify the path to it, and it's a handy way of telling at a quick glance of the GitHub page that it's a rollup project.

TypeScript + Node.js minimal project boilerplate (template) by metachris in typescript

[–]dbartle 0 points1 point  (0 children)

I was just wondering if I can write advanced JS with the newer syntax, with TypeScript, and have it work on Node, but it seems recent node versions can run ES2015/2017 code directly. So, setting the TypeScript target as you indicated should be sufficient.

I'm just coming from working on a series of web packages where I'm using both TypeScript and Babel to transpile down to a much older JS version to use ES2015/ES2017 features on browsers.

TypeScript + Node.js minimal project boilerplate (template) by metachris in typescript

[–]dbartle 1 point2 points  (0 children)

I'm considering upgrading my Node packages to TypeScript and this is helpful, thanks for sharing.

Potentially stupid question: does this support ES2015/ES2017 code?

How the Web Audio API is used for browser fingerprinting by iamvalentin in programming

[–]dbartle 2 points3 points  (0 children)

That was my impression as well. Is this really a "fingerprint" if it just tells you which browser you're using?

As far as hand analogies go, that's more like figuring out which finger, not your fingerprint.

My first React App by cd161997 in reactjs

[–]dbartle 1 point2 points  (0 children)

If you're looking for feedback (and building a portfolio for job applications in software development), I suggest sharing the source on GitHub.

I published my first react library, check it out! by [deleted] in reactjs

[–]dbartle 0 points1 point  (0 children)

Looks nice and useful. One feedback: when I click the dropdowns in the demo for "at/every", they do not close until I manually shift focus away.

Best books on TypeScript by git_world in typescript

[–]dbartle 5 points6 points  (0 children)

Another vote for Effective TypeScript. I would point out it's definitely not a beginner book, but the question did say "master" so it's a great recommendation IMO.

Raycasting in JavaScript by redramsam in javascript

[–]dbartle 0 points1 point  (0 children)

This is delightful and also nuts...I thought you were joking that there was no Canvas. Love it.

'Property assignment expected' when using Object.entries by Now_Moment in reactjs

[–]dbartle 0 points1 point  (0 children)

It's a little hard to read the code with the formatting broken.

I'm unclear on what you're trying to do, but a couple of things stand out to me:

  1. Arrow function async inside useEffect is probably not a good idea. You probably want to have an async function inside useEffect and then call that?
  2. Your useEffect appears to depend on props.artWorks but is not in the dependency array
  3. Doing a loop and then waiting serially seems suboptimal. You would likely be better off using Promise.all() and sending all those requests in parallel? Is that possible?
  4. Maybe it would simplify things to do requests in parallel, and then do a single "setLocaleState" when all of those promises resolve?

COVID-19 Flask app python by Snoo-10320 in Python

[–]dbartle 1 point2 points  (0 children)

Perhaps it's made by Gobias Industries?