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

I too am super interested in an offline-only voice assistant but really don't want to bother with setting up a mic connected to a pi. Even tough it's not super hard, it'll never be as good as the commercially available options.

I think this project would really benefit from taking one of the excellent existing voice assistant/speakers on the market (Google home, echo dots, etc., and flashing them with some custom firmware.


> Even tough it's not super hard, it'll never be as good as the commercially available options.

Arguably, being offline and keeping your recordings off the cloud, it is already superior to commercially available options.


Exactly. I've never considered voice assistants because I don't want recordings of me or my family being used for who knows what.

I've just looked over the docs. I'll probably be playing with this very soon.


Interestingly the storage on my phone was used up and Google Keyboard kept on crashing, so I had to use voice for one whole night.


Having run into similar problems multiple times, the solution is to clear cache on an app. If, like me, sorting your apps by storage usage never actually completes[1], browsers are a good thing to check first[2]; Unity games are a good second (those analytics pile up, even if the app is firewalled). If you're rooted, check the analytics in Chrome's private data folder, it was taking up 1.5gb on my tablet last time (not sure if this is cleared when you clear cache or not)

If the primary issue is the same as me, that you download too much crap without paying attention to available storage, just use the terminal emulator to create a 25-100mb file you can delete when necessary.

[1] storage ️ internal ️ apps [2] If you use PWAs to cache data and avoid high data bills, keep in mind that clearing browser cache clears PWA cache as well (my most-used PWAs are for hn and xkcd)


They do wake-word processing on device. Not sure how dedicated the hardware is to make that possible, and the requirements for this seem too high for that.

Would love to have great hardware for custom tinkering though. With more development time and money behind this project, I hope it could grow into a great tool.


You can do offline voice processing if the grammar is small enough. Recognizing commands is a lot easier than open domain dictation.


Are there any plans for a voice input Home Assistant component similar to https://home-assistant.io/components/conversation/?

I would prefer to simply use the iOS app as a voice input instead of a dedicated mic + raspberry pi.

Otherwise, great project :)


Good idea! We haven't looked into this yet, although we are preparing iOS and Android versions of Snips which run entirely on the phone.


Only thing I really don't agree with is the 80 char max.

I'm not suggesting unlimited but isn't it time we revisit this?

It really feels like one of those "we've always done it this way so just leave it"


In truth, longer lines would probably be fine, except that 99% of the time when your line is more than 80 characters long, there's a better way to do it with shorter lines. I've made a habit of reducing lines to 80 characters or less, and I would guess that for every 50 times I take a line I wrote that's 80-100 characters long and figure out how to split it into shorter lines, 49 of those times, the shorter version is better. That seems like a good reason to prefer the shorter line limit.

Note that it isn't a hard limit. The actual rule is "[s]tatements longer than 80 columns will be broken into sensible chunks, unless exceeding 80 columns significantly increases readability and does not hide information." So longer than 80 is fine, but only if it significantly increases readability. That sounds about right to me!


This! It's not just an aesthetic preference. Like the tab limit, it is instrumental to impede bad logic.


> In truth, longer lines would probably be fine, except that 99% of the time when your line is more than 80 characters long, there's a better way to do it with shorter lines.

myDescriptiveResultVariable = myDescriptiveMethod(myWordyVariable, myVerboseVariable);

That's 87 characters.


The Linux kernel coding style was developed to meet the needs of the Linux kernel project. When the code base is nearly 20 million lines, precedent counts.

Most projects aren't that big and don't have needs that are like the Linux kernel. There may be (and probably are) good reasons not to adopt its idiosyncratic choices.


I would disagree with the reason being "because we've always done it this way."

I started programming C full time about 2.5 years ago (after many more with PHP, et al). There's an aesthetic to writing C that I don't find with other programming languages. I believe this is, in part, due to the generalized use of shorter variables and keeping everything as compact and simple as possible.

Since deciding to keep everything at an 80-char width, I can say that it has helped me maintain a certain kind of readability I don't find with other languages. And, while aesthetics don't matter once the compiler takes over, I can say that good aesthetics do improve my ability to program more effectively and efficiently.


I second that, and want to add that scanning a shorter line is easier on the eyes, too. There's a reason typography conventions limit line width to 60-70 characters.


As someone who routinely has 5 or 6 files open in various configurations of Emacs windows, 80 char max is a huge convenience. Out of interest, what's changed since it became a norm which would make it worth reexamining?


Well, no ones coding on a VT100 terminal anymore :) It started as a physical constraint. Most computers, even laptops, have wide enough screens that 80 characters looks kinda compressed.

Personally, I've started using 100 columns for personal projects. But I stick to 80 for anything someone else is going to have to look at. To some extent, its more important to have a standard, so you don't have to worry about weird line-wrapping placements when someone else looks at your code, than it is to have one that fits superwell on the average modern screen. So we're probably stuck with 80


Screen size. On my two 24 inch monitors, I can easily have four side-by-side files with 100 characters and a large font size.

This being HN, naturally someone's going to tell me they do most of their programming on a 7 inch terminal screen.

But 80 chars comes with a cost: over terse code, or a lot of scrolling.


Exactly, I do the same: dual 24-inch monitors with 4 windows, and a 100-character line limit.


Very true. Perhaps I'll have to switch to 100 characters for personal projects.


I heard once that it was because punch cards were 80 columns. But my guess is screen resolution? We have much higher definition screens and can fit more on a line now? Should we have longer lines of code? Probably not. Could we? Heck yeah.


Yes. Punch cards were 80 columns. Later, Teletypes for the most part were also (I think some could do 132 columns). Then terminals like the VT100 carried this forward (again, some could do more, but 80 was still the default and they added the 24-line convention). The IBM PC kept to this standard also. And in 2017, the "default" terminal window is still 80x24.


While it's true that most of us have more than 80 character width displays most of the time, reducing the strength of that argument ... I dislike having to turn my head to read a long line. Personal preference of me.

I also think that code that has been constrained to 80 columns reads better. Personal opinion of me.


I agree that it reads a lot better and if you have to scroll horizontally it reads a whole lot worse, as a C# dev I have to constantly scroll back and forth to read a particular code block. I'm pretty sure C# code would fail terribly at fitting within 80 chars w/ its long names and generic type declarations and everything being indented withing a namespace it'd practically be useless to try to edit C# code from a shell interface.


It's impossible to place such a limit on Java/C#, but for C, it's not that hard especially if you go for 4 spaces indentation.


with c# you need at least two more indents for class and a completely frivilous namespace block. i wish c# had adopted java's namespace syntax too.


This reminds me of one diamond-in-the-rough of Erlang's syntax: rather than a module block, you just have a module-name attribute at the top of each file (where the entire file is then related to that module.) Your functions are just right there against the left of your screen!


Haskell has a module block, but you don't need to indent the content because the block can end at EOF.


They don't include them anymore in the 2016 MacBooks


Mind sharing what window manager/desktop env/etc. you're using?


bspwm tiling window manager

sxhkd managing keyboard shortcuts

xmobar statusbar

Gnome/GTK 3.x with built-in dark theme

Rofi app launcher and window switcher (like Alfred on OSX)

Termite terminal with ZSH

Not using a display manager like GDM or XDM, I just run startx via .zlogin


It's too bad the driver stated that he didn't use the summon feature. It gave Tesla an excuse to shift the conversation away from the real issue.


Would love to try this. No demo. Oh well.


Out of curiosity, what email client are you using now?


Not the OP, but if he’s still looking, I’d recommend he give MailMate¹ a try. In my opinion, it’s been the best mail client on OS X for a while now.

――――――

¹ — http://freron.com/


I'm still hanging on to mailbox. I'm giving them another iteration cycle or two to fix stuff. So far their product and support has been very underwhelming. I still like their iphone app.


Mailmate looks good but I have to confess I never gave it a shot due to it's design. Just looks so outdated.


Yeah, if you are really into aesthetics, and they are a dealbreaker, it's probably not for you. not sure how much nicer it can look though as it's a standard email client really.

Try out the demo and see if it is for you.


I dunno… on Mavericks at least, I have to say it looks pretty good. The text-only buttons give it a nice minimalistic look. I have no idea how it looks on Yosemite though.


Does Mail Pilot 2 support Markdown in the compose window? If so, I'll switch away from Airmail.


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

Search: