ahewett
Joined 12 years ago
Joined 12 years ago
My wife HATES all her apple products but still won't switch. Similarly, while I love Macbooks, iPhones make me sick and developing for them is like Apple personally giving you (the dev) the middle finger every time there's an update.
I don't know the solution. Wish I did. Wish the internet was as free and wild as it used to be. But you could have a foghorn go off on an iphone every 3 seconds and people still wouldn't switch.
What I would honestly recommend doing is a bootcamp for full stack, or even just backend or frontend, or native, React Native, etc. Start there. You must learn the basics of code first. Not only that, but you will need to know how a non-academic team works. Github for starters. Also if anyone ever tells you that "elegant" code in one line is better than "readable" code in 10 lines, punch them for me. That is not how reality works in the workplace. Clear variable names. Clear function names. An understandable architecture for what is trying to be accomplished. These are the most important things, not reducing a perfectly understandable algorithm to something akin to calculus.
I actually made some of the first BCIs for the PC a long time ago, but already was a certified architect in C#, Microsoft, etc. These days you want to go for Node/JS or Go or Java, etc. Once you learn one language it is simple to learn another, particularly C-based languages (JS/TypeScript/C#/Java/ObjC/Swift and so on - notably they use brackets instead of indents or words to denote functions and objects.
I used to do AI work, but mainly medtech these days like digital therapeutics, and paradoxically I also do bank security (startup I was working with got bought by a bank, thus the disparity between the two. hey, you make friends along the way, help them out, and occasionally a hustle becomes your job)
I highly recommended becoming intimately aquatinted with databases, both relational and otherwise. And learn how to optimize them. You WILL have to work with a relational database at some point and thus you will need to learn SQL, indexing, etc.
Along the journey of my life, I've become quite the physicist and like to think I have a deeper understanding of math than most people. The only benefit I see to a degree is you might learn some of that. Physics, signal processing (from an EEG for example), and so on, are unavoidable. HOWEVER, there are a TON of libraries that will do all of that for you, and along the way you will learn it. I highly doubt anyone writes their own Fast Fourier Transform (FFT) these days, but to use it you have to understand how it works, what it's giving you, and what it's not, in order to avoid egregious mistakes. I've had to correct many people on what a Fourier transform actually does, many of them who have related doctorates. There are some truly stupid highly credentialed people in the world. IMO even the wikipedia article on it has some serious mistakes.
Honestly? Everything you need to know you can learn yourself online very cheaply through online courses. Get yourself a mentor or two. People LOVE teaching others. A bootcamp, however, will land you your first job.
As far as getting a job, when it comes to programming or engineering, "the proof is in the pudding". I've interviewed hundreds of programmers. At first I read all about their achievements at MIT and all of what they are experts in. But, in the end, EVERY INTERVIEW will consist of a live coding session. 90% of the people I interviewed could not write a solution to total softball questions like, "Alphabetize this text" or "Parse this JSON". I would even let them google and they still couldn't do it. I've had people right out of bootcamp that were better coders than the most highly credentialed CS graduates.
Which brings me to my final notes: 1) Live code as much as possible. Learn to love it. I failed the crap out of my first live coding interview, but faced my fear and now I'm the only one in the bank department I'm in that live codes. As I'm sure you can imagine, product and design LOVE IT. 2) FORGET ABOUT LEETCODE or any other such crap. If I was ever given a leetcode question in an interview I would tell them point blank that people just memorize the answers to these, they are not applicable to real-life application, and then I would walk out because that company is clearly not serious. 3) Whiteboard interviews are also going to happen. Super easy. Flow chart with how the frontend connects to the backend, branching enough into each until they know you know what you're talking about. 4) Don't forget the old school! If someone asks you what "PUT" means in a request and you don't know the answer, that's pretty embarrassing. Learn about basic networking, from old to new. 5) LEARN DEFENSIVE CODING: This will give you a leg up because I've never met a programmer who knew it who hadn't also been a hacker at some point in their life. Basically what this means is how to reduce vulnerabilities, but also how to straight up trick would-be hackers. For example, error messages. If you have an error message that says "License invalid", it will be ludicrously easy to find that string and thus where the license code is likely to be. Instead, screw with them. Say your program detects that a user has hacked into your app, if you simply cause a crash or exit that just gives them an easy way to find and remove the problem. Instead, perhaps there is a commonly used number in your app. Change it so they get weird data. Or maybe division of numbers is needed at some point. Change the divisor to 0 to cause a random crash. Some defensive coders will simply use a timer, set it to a random value, and then cause a crash in some way. Whatever you decide to do, use multiple defensive techniques, and always always screw with the hacker so they have no easy way to determine where to look to bypass your protections.
-------
Ok so I've overwhelmed you and you may be rethinking your decision. Don't. Jump right in! Learn as you go, keeping the above advice in mind, and you will succeed. Take a few courses on the basics of the actual reality of working in the private sector, so you know the basics of github, but make no mistake: show me a coder that says he doesn't google at least once a week, I'll show you a damn liar.
As far as aerospace, I've no clue. I have friends at NASA who are bored out of their minds, but the are all credentialed. Even so, the exactly University you go to barely matters, as far as I can see. Again, coding and the understanding of fundamental concepts is something that can and will be tested during an interview, and maybe even before the interview with a take-home project or a general phone call.
Above all, have confidence in yourself, and walk out of an interview that is stupid or has a bad culture. EVERYONE has imposter syndrome. Make THEM court you. I've straight up never gotten a job I wrote a cover letter for. Usually out of some company that is truly interested calls YOU. They can see your resume on LinkedIn like everyone else. Which reminds me, up your LinkedIn game big time. Yeah yeah everyone hates it but you start writing things, people invite you on podcasts, the snowball starts rolling.
Well that's all I've got. I hope it helps!
Good luck!
"He doesn't know what he is talking about. Means do not have to be a standard deviation away to make the result significant."
https://www.brain.fm/pdfs/EEGFocusAnalysis.pdf
It's pending publication, but it'll get there. And now we have enough info to start a double blind. Sleep one is also pending publication.
The HRV (stress/anxiety) trial is already published, and was completely independent. We didn't even know about it until it was published. There's more in the science section too.
I remember when that Lumosity BS came out. We'd been around for 4 years already at that point. Now that it's finally us taking off, we're pouring everything into the science. We're going to do this right.
(oh, sorry, I just realized I'd already replied to you above. I'll leave this here though, for anyone who's interested)
Yeah, I have to say it has not been a great experience here at HN. But, maybe I'll win them over yet. After 13 years, we're finally taking off, and the first thing I did was pour everything in the science, so we'll be there soon.
Well, enjoy Brain.fm! And feel free to drop me a line with an update any time.
- Adam
http://chetansurpur.com/blog/2013/08/emergent-intelligence.h...
https://en.wikipedia.org/wiki/Emergence#Computer_AI
We're not using that term anywhere in the marketing either.
This is just me talking here man. I'm not a marketer, or even really a good businessman. I did this for 13 years and we're just now taking off. I do music and programming, that's it. :)
But I do think Junaid did a great job on the site. Yeah there's more work to do, always is.
Tough crowd here at HN.
- Adam
Definitely don't want you to be wary of the skip button. That's an important feature. You should love the music you're playing.
So here's a pro-tip: as an anonymous user, play the session for just a little bit without moving the slider more than a minute or two. Click skip within that time period and you're golden.
The skip does have more leeway if you just register. It's free! Plus, as an anonymous user you're not going to get near as much variety. Every time you come back in incognito you'll get the same stuff. We have so many people doing this, but I don't know how they stand it! Truly though, I do not care if people go incognito.
But we just kinda need to know a bit about you to make sure you get the right sessions, instead of generic one-size-fits-all sessions. Yeah, I know how that sounds, as if I'm just dying to get your email or something, right? Use a fake one, who cares. I only need the survey information for one reason: Everyone's truly is - to quote Tyler Durden - a beautiful and unique snowflake ;)
It gets better and better afterwards and the more you use it.
Enjoy :)
- Adam from Brain.fm
This is a goldmine for me.
Thanks a lot for posting, and for trying it out. Would love to hear your feedback, or anyone else's from this thread. Email me any time. Just my first name and brain.fm.
Next week I go back to working on more music themes. We hired a new guy a month ago and he's ready to take over the app, so, this is perfect timing.
Let's see what me and the AI-guy can come up with. :)
- Adam from Brain.fm
Don't stop exercising though ;)
- Adam
Honest to god we just used a standard one we got over a decade ago, and customized it with our name. We might have even gotten it off of legal zoom or something.
- The HRV/(stress/anxiety) study is peer-reviewed (and independent, we had no part in it).
- All our other papers are pending publication.
- Giovanni's work on acoustic stimulation is peer reviewed, and from Northwestern. Again, we had no part in that.
- The meta-analysis one of our previous neuroscientists made is also peer reviewed.
- Dr. Olmstead's paper is peer reviewed, so's the Fatigue one we have up there, and all the other ones in our bibliography: https://www.brain.fm/pdfs/ResearchLibrary.pdf
- Hell, we're even having our statistical user analysis peer reviewed, the one we have up (before we got popular) and the new one we're making now.
Tryin' our best here :)
- Adam
Junaid my co-founder shares a lot of your taste, and so does my sister, so I have a few willing guinea pigs :)
- Adam from Brian.fm
I'm also not sure how technical you want or how much you know already, so apologies if I'm too technical, and apologies if I'm not technical enough. I'll just try to start from the beginning and lay everything out from there, as briefly as I can. Tragically, however, I was born without brevity.
1) Brain.fm: The Brain's Perspective
When a sound enters your ear, it's converted from a pressure wave to an electrical impulse, which you can measure in the brain as a kind of spike on an EEG, or a cortical response. If the sound plays again, another spike occurs (although typically smaller). If a sound keeps being repeated in a fast and precise enough way, the cortical responses start to resemble rhythms already in the brain.
For example, if you tap your finger rapidly on the table, you might be tapping at 10hz (10 taps a second). 10hz is also a very dominant in the brain. If you could tap your finger precisely enough, and for a long enough time, what you would see in the brain (if you know what you're doing) is new activity at 10hz. This is called the Frequency Following Response, and it's well established. Check it out on pubmed, etc, if you're interested.
Now if you keep tapping for even longer - and again, if you're super precise about it - your existing brainwave patterns near that same frequency will start to align themselves towards the phase and frequency of your tapping.
BTW sorry about the delay in responding to you. Believe it or not, in between some meetings I was searching for a good article this whole time to show you. Here it is: http://www.pnas.org/content/111/41/14935.full
This effect is called lots of things, including, confusingly, the frequency-following response by some in the private sector. It's most often known by the public as brainwave entrainment, but that's rarely in the literature. In the literature you see all kinds of words for it: neural entrainment, auditory driving, auditory entrainment, steady state responses of various types... The level of confusion over what to call this thing is only eclipsed by the number of names made up for methods to induce it - all referring to the same thing: rhythmic auditory stimuli. No, better not call it that, in this paper its gonna be sinusoidal amplitude modulation, click trains, acoustic iterance, isochronous auditory stimuli, temporal sound... So, it gets a bit crazy when you try to search for this stuff (so we'll be adding even more to our bibliography/research library soon. Let me know if you haven't seen that yet).
For the sake of this post let's just call it Entrainment.
Something that's also being figured out is how to define when exactly Frequency Following ends and Entrainment begins. Some say it doesn't matter, others say it's when the phase lines up, or if the new rhythm persists even when the external stimuli is removed, as in the article I linked you to. There's also ways to approximate the root source of a neural rhythm (external or internal), if you also feed the stimuli into the analysis at the same exact time.
Anyway, to sum it up, what we're doing is creating a rhythmic stimuli that resembles frequencies already in your brain. We play that stimuli long and consistently enough to actually register a pretty solid response on an EEG.
Of course, it gets more complicated than that. This is the brain we're talking about. The waveform of the audio modulations matters (brainwaves aren't perfect sine waves, after all), the way the frequency is changed over time matters. When do you take a break from the stimulation? When do you tone it down, or turn it up? And how do you adapt to people on an individual level? How do you measure it? Audio processing can change dramatically in the brain depending on the content of the audio!
But at any rate, changing the brainwaves of a person like this can also change their mental state. I'm not saying it takes over the brain. It just.. nudges it a bit in the right direction.
So that's the basic outline from that perspective. Hope it makes sense, of course if you have any questions don't hesitate.
2) Brain.fm: The Music Perspective
From an audio's point of view, we're doing a number of things to subtly create that necessary rhythmic stimulus.
a) We're modulating every piece of audio. It's these modulations that create a rapid rhythmic stimulus. If you listen carefully to Brain.fm, you may hear a fluttering sound. It's more obvious in some parts over others. We're using filtering techniques to target some frequency bands over others (and by frequency here, I'm now talking about the frequencies of pitch, not brainwaves, where a cello would be low and a violin would be high in frequency). Doing this, we can single out instruments, modulate parts of a nature soundscape but not others, or disguise the modulations as vibrator, tremolo, or the natural vibrations of instruments, strings or the LFOs of electronic music..
b) We align everything else in the session to the brain-frequency we're trying to hit, so there is no interference from a stray drum beat or a snapping twig. Not only is there no interference, but the entire audio "scene" is being actively used to guide your brain toward the goal state.
The 3D audio also factors into this a lot, because the mind pays attention to motion, and that helps elliminate habituation. But that's another story.
Hope this helped explain it. Completely understand if you need clarification, or an entirely new answer hah!
:)
- Adam from Brain.fm
But I actually like it like that. I want a double blind study with identical-sounding placebo and more subjects. After that we can study how it compares to regular music commonly used as study-aids.
Regarding the statistical analysis, result interpretation, etc, I feel I should let Giovanni himself defend his paper. He's dealing with family / health issues right now, but I hope to get him on here as soon as possible. I promise he will respond eventually and clear this up.