HNHacker News
TopNewBestAskShowJobs

bgalbraith

108 karma · joined March 18, 2011

Co-founder and CTO of Talla. PhD in Computational Neuroscience
submissionscomments
bgalbraith··on Python 2.8 Un-release Schedule
I do a lot of scientific computing in Python and have had awful experiences with Python 3. We encourage everyone who comes into our lab to work with 2.7 because the libraries are all there. It's true that Numpy and Scipy now build for Python 3, but another key library, PIL, is lost in limbo with no clear timeline for porting last I checked.

The only reason I've used Python 3 at all was because of project involving blender. I needed to do in-memory JPEG compression for quickly streaming images from the game engine. In Python 2, this is a couple lines of code using PIL. Instead, I ended up having to write my own pyjpeg module that provided a ctypes interface to a custom libjpeg-based compression library. I'm proud of the result, but the aggravation and frustration that entailed has removed any desire I have to move to Python 3.

bgalbraith··on IBM: Mind reading is less than five years away. For real.
No, I haven't, though I'm interested in which library are you referring to. We've been developing our own Python wrapper interface to their API, though this is to share a common interface with the other EEG DAQ (e.g. g.tec) Python wrappers we've been developing.
bgalbraith··on IBM: Mind reading is less than five years away. For real.
When talking about EEG-based "mind reading", there are three primary methods currently under study (when looking at locked-in patients at least):

1) P300 - This refers to a predictable change in the EEG signal that happens around 300 milliseconds after something you were expecting happens. For example, if I am looking for a particular letter to flash amongst a grid of letters all randomly flashing, a P300 will be triggered when the letter I want flashes.

2) SSVEP - This stands for steady state visually evoked potential. This approach uses EEG signals recorded from over the visual cortex, which responds to constantly flickering stimuli. Given a few seconds, the power of the frequency of the attended stimulus increases in the EEG, which can then be detected and used to make a decision.

3) SMR - This stands for sensorimotor rhythms, and is an approach that looks for changes in EEG activity over the motor cortex. Successful approaches have been able to identify when you imagine clenching your left or right fists, or pushing down on your foot. Unlike the other two, this does not require external stimuli.

SMR is the most like what we consider mind reading, as the user is initiating the signal while the other two infer what a person is looking at. It is limited to only 2-3 degrees of freedom at the moment, however, and is the hardest signal to work with. It is susceptible to external factors such as the current environment and mental state, and not everyone seems to be able to generate the needed signals. SSVEP, while lacking the wow factor of SMR, is much easier to work with and is a much more stable signal.

Disclosure: I work in this area. Here's a flashy NSF video highlighting our lab: http://www.nsf.gov/news/special_reports/science_nation/brain...

bgalbraith··on IBM: Mind reading is less than five years away. For real.
As a current PhD student working in this area, I caution you about getting too excited about the Emotiv EPOC. We've got one in the lab we've started to work with as a potential low-cost EEG system. The out-of-the-box software is kinda hokey, so you may end up with an expensive novelty you use once or twice.

On the technical side, it does seem to be the best current option for consumer EEG, though most of these devices are actually strongly influenced by, if not heavily reliant on, facial muscle movements.

bgalbraith··on What is a PhD Really Worth?
tl;dr - we learn how to get by with less...

Thanks Nature, I'm glad that the main value you see in our spending 4+ years in advanced scientific study amounts to building a healthy respect for free food.

In pure economic terms, yes, the PhD seems almost always the wrong option. I'm curious about other factors such as general wellbeing and quality of life. Though chasing nonexistent tenure track positions while hopping from postdoc to postdoc probably isn't all that great.. Straight to industry for me.

bgalbraith··on Notice: Experimenting with HN
Apologies if this has been suggested before.

I'm curious if something like the BCS ranking system in college football could work for online communities. The specifics don't translate, but the general idea is that you use a weighted combination of human and machine generated rankings. This can be seen as maintaining the user-driven voting system but tempered with an impartial community spirit moderator in the form of a machine learning algorithm.

How could this be applied to HN? Let's leave the standard karma/voting system as it exists, as that seems to generally work.

Next, determine the general distribution of votes per comment. This will allow for things like z-scores to be determined that can notice if a particular comment has received significantly more votes than usual.

Next, perform a machine learning algorithm on a corpus of comments. Something as straightforward as Bayesian filters can work, though self-organizing maps also have potential. This is effectively doing the same thing as spam filtering, but instead of simply flagging something as spam, it would provide its own +/- vote. The initial training would start with a baseline of existing comments, and then periodically, say once a night, be updated with recently added comments and votes. Additional information, such as the karma of the commenter, can also be incorporated.

The final ranking then, which here would be how high up on the page it appears, would be a weighted combination of user votes, z-score scaling, and machine votes.

bgalbraith··on Introduction to Artifical Neural Networks
An excellent resource to get a more comprehensive review of ANNs is Neural Network Design (http://hagan.okstate.edu/nnd.html). Unfortunately, the book itself is out of print, but that link has some sample chapters and used copies are floating around. The book was written by the authors of the Neural Network Toolbox for MATLAB, so naturally all the examples and demos referenced are in MATLAB.
bgalbraith··on Is Stealth Mode Stupid?
This seems like one of the few cases where full on stealth mode makes sense, and even then, only if the team is slow and the work so far amounts to nothing more than an elevator pitch.

If the idea is something a bigger competitor would actually want, they are probably better off letting the team do the ground work, then either acquiring them outright or copying what they did. I would guess the biggest threats are from other motivated small teams that could execute the idea faster to achieve the aforementioned acquisition exit strategy.

bgalbraith··on Ask HN: Leaving college to work on a startup?
As someone who has been in a similar situation, think honestly about why you are disenchanted. Is it because you are taking required classes that don't interest you at the moment and the homework/projects seem like tedious busy work? Is it because you think your degree will be a piece of paper leading to a 9-to-5 in a cubicle, if you're lucky? Or is it because you're driven to work on a project that you hack away day and night on, and class seems like an annoyance that gets in the way?

If it's the latter, and you have a promising opportunity to roll into right away, then there's reason to think hard about your options. Otherwise I'd highly recommend you stick it out and get the degree.

bgalbraith··on A conversation between two chatbots and how one found out the other is an AI.
This exchange reminded me of Waiting for Godot. Chat bots having conversations on stage.. neo-absurdism?
← PreviousPage 2 of 2