afrancis

Joined 11 years ago

Karma
30
Submissions
48
Member since
Jun 14
Coming soon to a Montreal Python near you: "Adventures in Library Borrowing"
View on Hacker News

Recent submissions

Comment · 8 years ago
I would argue that you are generalising based on looking at a particular model of how we use digital assistants. How about scenarios where organisations and individual develop digital assistants that are not financed by an advertising model? Or for that matter, the underlying NLP is not based on a cloud computing model?
Comment · 9 years ago
I believe a large part of getting better at coding is reading about good coding practices and simply reading other developers' code, regardless of its quality. For example when I was in junior college a programmer-on-duty recommended I read Kernighan and Plauger's "Elements of Programming Style." Reading this style guide had an immense impact on me. Following that book, I discovered Kernighan and Plauger's "Software Tools" which illustrated important aspects of the UNIX philosophy (and good design principles) such as "Write programs that do one thing well" and "write programs that work together."
Comment · 9 years ago
I glanced at the Clive Thompson article. I disagree. I feel movements like "software carpentry" (https://software-carpentry.org) are a good indicator of what mass computer literacy will look like in the workplace and society as a whole. Essentially more folks will know how to develop small scripts to support their main work (or customise their home automation systems). In turn, I also suspect, in the long run, programmers that act as the equivalent of a scrivener (the 'blue' collar workers of those articles) are going to dramatically decline as a percentage of folks engaged in software development.
Comment · 9 years ago
A problem I found with article is the talk of opacity of statistics techniques in the guise of "big data" used in social media corporations. Statistics used by individuals and companies is nothing new. As a counter-example, I feel the public has greatly benefited from statistics in the form of quality management embedded in the proprietary processes of manufacturing and large service corporations. Stuff like TQM allow us to take for granted so many things. I think the issues revolve around who owns and gets access to large data sets, mathematical literacy and the morality/ethics of various players.
Comment · 10 years ago
Watching "Rogue One," the real-world historical parallel that came to my head was that Galen Erso was modelled after Werner Heisenberg and Nazi A-bomb programme. I was surprised, Heisenberg was not mentioned in the essay: maybe that would have driven points home?

I was on the fence concerning the essay. I think I understand many of the points made by other respondents: The canonical Star Wars Universe is too black-and-white and inconsistent to use as a backdrop for thinking about engineering ethics.

As a side note regarding the relationship between the Dark Side, the Sith, the Emperor and technology. Actually some of points touched on in the essay (i.e., reliance on technology) are explained in the excellent twenty-five issue Marvel series "Darth Vader."

Comment · 10 years ago
Comment · 10 years ago
Love my Pebble. Has almost everything I wanted in a watch. Found it a pity that on the marketing front, Pebble never seemed to get top of mind (or anything near there). My current's watch's display is starting to shred. Debating buying a second watch while they are still available. Downloaded the SDK and will grab the tutorials. Hopefully Fitbit will keep this information around.
Comment · 10 years ago
Although I have used both CPython and Stackless.py, the specific differences are fading from my memory. While working on a Go style select() for stackless.py I recall there were minor differences in how the runnable list is represented and accessed. However this is really an implementation detail. For the most part, they are pretty much the same.

The biggest difference I remember in the current stackless.py implementation, the move to "continuelets" resulted in the inability to pickle "complex" stackless tasklets. So it becomes more difficult to stop a tasklet in one thread and restart it in another. Maybe the ability to control the recursion depth (including getting rid of it) may also be gone in stackless.py.

Comment · 10 years ago
Although I am not aware of any recent development, you should look at Stackless Python which was inspired by Limbo. Stackless Python has lightweight threads (stacklets) and synchronous channels a la various Bell labs family of languages (include Go). The greenlets that Gevent uses comes from Stackless.
Comment · 10 years ago
I find with all the voice APIs out there, I would recommend choosing one and diving in. One of the skills is getting comfortable with the interactions between the voice API and the back-end.
Comment · 10 years ago
Comment · 10 years ago
Well the Trudeau government just earmarked 50 million for five years to the Perimeter Institute for Theoretical Physics.
Comment · 10 years ago
@trtobe: you could ask the supermarkets. Doesn't hurt. Perhaps you would have better luck promoting this idea with grocery stores that have loyalty cards? Loyalty cards I suppose are already used to track specific users and what they purchase. I think working with the supermarkets are better because it results in a more frictionless experience.
Comment · 10 years ago
Hi Mandela:

By Siri, I am assuming your mean some application that understands speech and carries out commands like answering queries, or carrying out a command? Answering queries is specific domain of NLP. As is developing the acoustic model (roughly the part that links the audio with linguistic units). You will find that there are many sub-problems to tackle. You have to decide on which problems to tackle.

I have very limited experience in this field. If I didn't try out Nuance NLU/MIX at a hackathon a few months ago (and get a lot of help from the Nuance representatives), I would have never taken a stab at writing a voice application.

I am currently building a simple request/response system. Requests of a "HAL, open the pod bay door" nature. As opposed to something more free form and conversational. One has to start somewhere.

2. Voice recognition: same as the above.

As many posters have commented, there are many speech recognition and synthesis systems out there that handle the acoustic model. Some of the system handle languages other than English.

I have tried the Amazon Alexa SDK, Wit.ai and Nuance NLU/MIX. For the most part, they are essentially a client/server model.

1 - At "compile" time, one builds up an acoustic model/language model with samples (at least this is how Nuance works). Or maybe the language model already exists and training through additional use makes it better.

2- At "runtime," a client such as a mobile application interacts with the speech recognition system, via an API. Audio is sent. The speech system parses the audio stream and returns some data structure (or audio if speech synthesis is done). Or in a slight variation, the speech system sends the AST to an end-point for back-end processing. Most of your application will be the back-end that does the meaningful domain specific stuff. For instance, in Alexa, one is developing "Skills"

One of the things I am learning is that there is not a clear cut distinction between what is in the language model and in the back-end. Although the language model allows it, I don't necessarily want to bake in business logic (i.e. Pod bay Door maps onto part number 42). Also the back-end may have to do additional NLP related processing ("Cod bay" is probably "Pod bay").

NLP: I am not aware of any non-English library and don't have much background on the subject.

I found the Stanford course cs224n to be super useful (https://www.coursera.org/course/nlp). There is a book (Speech and Language Processing) associated with the course.

The Peter Norvig paper "How to write a Spell Corrector" (http://norvig.com/spell-correct.html) is very helpful.

Since I am working with Python, I use the book "Natural Language Processing with Python" by Bird, Klein, and Loper and the Python NLTK.

Finally I find that reading the documentation associated with the various speech systems to be very helpful. Vary to suit your needs. For instance, Alexa provides guidelines for U/X like Voice Design Best Practices (https://developer.amazon.com/public/solutions/alexa/alexa-sk...).

3. Web crawling: there are tons of libraries for doing crawling and I have a decent understanding of the subject.

I think crawling is the least of your problems. Look at Week 8, Information Retrieval of the Stanford NLP Course.

Mandela, at this point all I can say is go for it! Look at the speech SDKs out there and pick one, preferably one with a large community. Build something small. See if you can work in a computer language and system you are comfortable with (With Nuance, I could work with mostly with Python and avoid Android and Java).

Have fun!!!

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton