HN user

afrancis

30 karma

Coming soon to a Montreal Python near you: "Adventures in Library Borrowing"

Posts0
Comments41
View on HN
No posts found.

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?

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."

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.

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.

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."

Channels in Golang 10 years ago

I can't recall anywhere in the literature that refers to being inspired by UNIX's select(). Golang's select comes from the Bell family of languages such as select in Newsqueak or alt in Limbo. In turn, channels in these languages were inspired by CSP. Here is a link to Russ Cox's "Bell Labs and CSP Threads" (https://swtch.com/~rsc/thread/)

Pebble's next step 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.

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.

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.

@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.

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!!!

Case studies provide all the required information in the case itself. Do you believe this to be right?

The case study is a learning tool. The required information is a starting point. It is up to the student to use the information "correctly." I recall doing one case study in a TQM course, where I was the only person who bothered to crunch the numbers and create a simple income statement which provided a powerful insight: higher than projected retail prices wasn't killing the company. Rather its return and rework expenses were.

Don`t you think that in the real world, you are faced with many situations where available data is highly ambiguous and unreliable.

Yes. However I think you are misunderstanding me. I have a graduate background in computer science and management. I've played games. However I can't recall many times I was bored in an MBA class. All other things being equal, I don't believe MBA courses, or any course, needs gamification to keep students interested. That is not the selling point. I think more about when Alan Kay talked about the rise of "Skeptical Man" and his ability to create powerful simulations and perform what-ifs and see things from multiple points-of-view. Perhaps Y-Combinator is the wrong place to argue about pedagogy. You probably have a good product. Just the rhetoric is off-putting. Immersive long running games are definitely a part of the future of business education*. Throw in some form of integration with an ERP, you have some really powerful stuff going on....

MBAville builds games for business education. Our first product, Project Quant, teaches Accounting, Analytics and Economics in a gamified pizzeria setting. We find the classroom to be boring and un-engaging.

I have taken MBA courses. For the most part, I found the classroom to be highly engaging, especially when case studies are being presented. I suspect, I, like many people that have gone through graduate management programmes, will disagree with your fundamental premise. Mind you, since my concentration was operations, I have both played simulations (and loved them) and had to develop simulations. So I am not unfamiliar to games and simulations as learning tools. However its only one of many tools. Perhaps you should change the tone of your proposal since I think it would alienate the audience that would most likely buy your product.

To me, a large part of process improvement is statistics, statistics and more statistics. I don't understand how storytelling alone, just as creating Visio diagrams alone could come up with a regime that allows one to measure, analyse, improve and control a system.

"My primary competition is non-consumption. Firms (especially fast-paced tech firms) will just bootstrap a solution using MS Visio or some other simple software application with no business intelligence behind the drawings. In other cases, firms spend a lot of money on consultants or on robust software and a team to learn how to use it. They often get lost in the process of process improvement with very little impact on the bottom line.

I vaguely remember discussions about flight logs and manuals when I worked at a company that made SGML tools. Aren't there certain FAA requirements that revolve around stuff like signatures? Perhaps new vehicles would benefit from a an all digital approach. I suspect that most planes because of their age, have a paper trail and it may be difficult to maintain both.

I have been thinking about this one a bit more. I believe the idea is to remove various sources of friction in the system. You may be able to get away with not scanning. Again, pretend the store has a system to send you the grocery bill in a processable electronic form. The assumption is most stuff is purchased from a large supermarket. Typically stuff like lot numbers, expiry, best before are know so those could be included. This information could be included into something like Google Calendar and reminders set out. Imagine someone has Amazon Alexa (was "listening to Too Embarrassed to Ask" podcast about Alexa). It would ask questions about the food: "you bought Arugula two days ago? Have you used it yet?" Privacy aside, this may be much more usable.

I am not sure how your model differs from online Hotel companies in North America? By "Uberlike" do you mean surge pricing? More questions. Do you know if Airbnb have problems booking rooms in Africa? What is the vacancy rate of a "good" hotel? I suspect answering these questions give insights into viability (if I am a good hotel and have low vacancy, why should I deal with you?)

A comment about title: don't equate largest with best, or most profitable (also this hotel chain does not seem to exist yet).

My question: do parents really save money from "Kids eat free" deals? Is the average cost of the meal for the adult higher? Also how do you make revenue and profit on this concept?

I thought the critical success factors for getting into a management programme in a university would be one's grades and one's SAT scores? Also what constitutes an "elite business student" especially since the student has not provided themselves in a business school setting yet? The proposal sounds more like some form of life coaching for someone who is not "elite."

I have thought about this problem and like your goals. Like @rkho stated, re-scanning is a pain. Perhaps if you could somehow get buy-in with the grocery store: the store sends an electronic copy of the bill that can be processed; have a program read the bill.

"That's right, we already have manned wheelchairs roaming the streets, so it's not too different."

However you probably don't want a person in a wheelchair delivering one's pizzas ....

Tom, again I would recommend you do some computer simulations and simple break-even cost analysis. Is the problem of pizza delivery really the human not being available, or being idle (is this really a capacity and demand management problem)? What stops a Zippy unit from not being available as it slowly heads back to base? From what I see, Zippy being a motorized land vehicle, suffers all the problems of a car, without any of its benefits. What makes drones appealing to say an Amazon, is the combination of flying that probably easier and safer than driving, and the value of the payload.

In general, last mile problems are tough. Also you have to ask yourself how does Zippy enhance the customer experience?

Cheers, Andrew

One problem with Zippy would be it contending with a myriad of laws stemming from whether Zippy is a vehicle, especially a motorized vehicle on a sidewalk. Let's ignore the unmanned part for now.

"Having small items delivered to homes by robots gives us near zero cost per delivery, "

You would still have variable costs like fuel, which would be incurred on a delivery by delivery basis. Then how high is Zippy's fixed costs?

I suspect that Zippy could only work in certain very densely populated areas, where users are willing to make concessions. In a suburb, Zippy because it using a sidewalk, would be too slow, but could do front door delivery. For an apartment building, Zippy could only go to the lobby's front door, hence requiring a concession from the customer that they may not want to make. Also how far can Zippy operate from the restaurant in question (it has to travel back)? What is its payload?

When I come to think about it, Zippy would be analogous to a person in a wheelchair making deliveries.

I suspect one could use computer simulations and some what-ifs on a spreadsheet to figure out Zippy's feasibility. I would wager that a person in car is simply more flexible, cost-effective and provides a more satisfying experience to the customer.

"Although I certainly believe that any member of our highly digital society should be familiar with how these platforms work, universal code literacy won’t solve our employment crisis any more than the universal ability to read and write would result in a full-employment economy of book publishing."

I read the article. I have seen similar arguments made by Nicholas Carr in "Peak Code" (http://www.roughtype.com/?p=5594) Perhaps learning to code and universal code literacy (for now, lets not argue exactly what literacy means) may, or may not save individual jobs. I sense as software development as a discipline matures, at the level of the firm, software developer wages as percent of a software project's budget, may shrink. At a macro level, software development as percent of GNP may rise but the software developer employment may look like the numbers involved in manufacturing, or farming. The point I feel Ruskoff misses is that coding literacy may not save an individual's job. Or having a sizable chunk of the U.S economy (or any sophisticated modern economy's) GDP coming from software development. However a critical mass of the population programming, like universal literacy, will most likely translate into vast productivity gains and ability to create new opportunities. An example. The idea behind "software carpentry"http://software-carpentry.org) is about teaching scientists just enough programming, so they can write tools be productive at their main activities, instead of doing things by hand, or hiring programmers. As a whole, research immensely benefits. It is easy to extend these ideas to the populate in general (and yes, I, like chef Gusteau, believe anyone can program). When I come to think about it, maybe this is what the BBC Microbit is about. I feel fields like home automation would explode once a critical mass of the population are code literate. To get back to Ruskoff's analogy, book publishing would be a much smaller industry if universal literacy did not create the supply of writers and demand in the form of readers.

It has been a while since I looked at it, but I was impressed by Russ Cox's implementation of channels in the LibThread library of Plan 9. All channel operations including blocking on several channels and selecting one that is ready, are described by Alt structures, which under the hood implement a simple but elegant algorithm that appears in Rob Pike's "The Implementation of Newsqueak." I feel you want to understand roughly how Go channels works, read that paper and look at LibThread's channel implementation.

A second choice would not be so much code, but an algorithm: Thompson constructions for regular expressions.