A couple of years ago, I took a "Music and Computers" course at my undergraduate computer science program. I had known the professor for a while, and he had some incredible projects under his belt. He had built a full fledged Hammond-like MIDI synth using an Arduino Due, all the way from writing the code, and building the stainless steel casing. I took that as an inspiration for my final project, and tried to build a FM synth using ESP32.
I based my project on the Yamaha DX7, which is an amazing feat of musical engineering. I had to write the code, wire together a MIDI Input, and an audio output (using a DAC). It was one of the coolest projects I've ever made, although I did not get too far.
At the core, all you're doing is generating sine waves. Digital Synths in the 80s would not have the computation power to actually compute sine waves, so what you have to do is precompute the values of a sine wave, and store it in memory [0]. Also, you don't get floats, so it's all fixed point arithmetic [1]. FM Synthesis is essentially a carrier wave and a modulator wave [2]. The DX7 goes beyond that with the concept of Operators, which can be mixed and matched in an Algorithm [3].
I managed to make it produce notes, which were in tune. I started making the envelope (attack, decay, sustain and release), but that's where I got stuck and eventually abandoned it.
I've written a software emulation of a Yamaha YM2413 (OPLL) for use in a Sega Master System emulator, although that was a couple of years ago. What I remember is a table for the sine wave (1/4 of the full cycle, since the rest can be done by mirroring and inversion), but stored in some logarithmic format so that multiplications can be done through addition, and then a lookup table to convert the output value to an actual integer.
It was cool because there were set values that you could subtract to cut the volume in half, for example. It makes the envelopes into just adding and subtracting values, and getting a cool volume curve out of it.
I remember that I got it reliably producing recognizable output for most register settings, but there are some parameters that I must've gotten wrong, because some settings sound way off from how they do on real hardware.
> The city my dad lives near Porto Alegre already suffered twice due to extra tropical cyclones. Something that I heard only few times in my childhood.
One thing I noticed is that local governments (and their respective climate departments) are being much more vigilant and proactive with climate events. And we are in a way paying much more attention to the frequency of climate events. Trying to correlate your own experience of "frequency of events" is a very tricky thing, since we can pretty much condition ourselves to rememeber pretty much anything we want.
Back in the day there were tropical storms and cyclones, and we just moved on. But now local governments will proactively cancel school days if there is a even a hint of a heavier storm. Which is great, but it does mess with our ability to actually estimate frequency of events.
It's a great service but honestly I think they just got lucky with how they named it. It's short, easy to pronounce and very memorable. Were it to be called anything else, I'm not sure it would've caught on.
Most people in this thread are either in North America or Europe, so options for managed services like Fly exist, and they are plenty. But for people in South America, what options are there for a Heroku-like service? I don't want users shooting off requests halfway across the globe and back when there are many datacenters a couple of miles from our users. I just don't have the time and resources to manage VMs and scaling issues. I need a zero friction "./serviceX deploy" experience.
Fly seems unreliable, but they offer a deploy region close to me. Does anyone have know of any alternatives?
I'll just come out and say it. I absolutely loved Toy Story 4.
I watched TS1 and 2 as a kid, and I remeber loving it and rewatching dozens of time. Then TS3 came out, with Andy going to college, around the same time I was going to college.
Toy Story 4 was an absolutely stunning movie, both in terms of photography, and underlying message. In my opinion, it is about growing up, finding out who you are, and letting go. They ended the franchise in the best way possible.
Am I the only one who thinks this is a really bad idea?
By offloading your cognitive tasks to an AI, even though you now look smarter, you're becoming dumber in the long run, because you're never really challeging and exercising your intelect. This book[1] goes into a lot of detail about how rote memorization and recall is essential to critical thinking (you have a limited working memory, and the way by which you're able to critically think about complex subjects is by chunking, which only works with concepts you've previously memorized). If you just stop exercising your recall and critical thinking, they'll get weaker and weaker.
I feel that already with ChatGPT. Before, whenever I needed to learn some programming concept, I'd have to search vast amounts of resources to learn it. By being exposed to many different points of view, I always felt that what I had learned stuck with me for much longer. If I just ask ChatGPT, I get the answer faster, but I also forget faster. It's not learning.
Learning, with capital L, is not supposed to be easy. It's supposed to be hard. Education is about making what is hard a worthwhile pursuit. The people who get lured into thinking they'll be smarter if they plug themselves to the matrix will be shooting themselves in the foot.
For me, relying on OpenAI to function cognitively is like relying on Google to turn my lightbulb on. It looks cool, but it doesn't make any sense.
I haven't formed a definite opinion on this, and I think I largely agree, but what about a counterargument like this one:
Virtually no one does long division manually anymore, or really any basic arithmetic greater than two digits, because we invented pocket calculators and smartphones that do this for us. And are we any worse mathematicians or engineers because of this? If anything, this has freed us to perform more higher-order reasoning.
And so with these kinds of "AI" assistants, is it possible that the types of reasoning that we offload onto them will free us to reason in even higher orders?
Well we're pretty confident that calculators work and do so in a fairly deterministic manner.
ChatGPT tends to be extremely incoherent and often provides answers which directly disagree with what it previously said (at least on some topics*). My fear is that while you right in theory we'll have spend huge amounts of brain power and time to discern whether what it's saying is total BS or not. And I really don't know how could I even do that if I wasn't particularly knowledgeable on the topic.
If it could provide citations or some context on why did it decide to answer in the way it did it might be not so bad.
Fairly straightforward areas like software engineering are not that bad I guess.. but it's answers any even mildly complex questions on history, anthropology or related fields where there are often no clear and straightforward answer just seem absolutely awful. Just tweaking the input a bit without actually changing the core of the question can results in something that completely contradicts to what it just said before.
If you think of cognitive tasks as a hierarchy it makes more sense. It's a big task to think through and plan an essay, but it's a little cognitive task to check your grammar and citations. If you can get an LLM to do the little things, you can practice the higher level stuff.
I guess the question is whether you are actually learning the higher level stuff by getting help with the lower level stuff. I think on some level you would, like how having a calculator when you're doing higher level math helps you think about the problem rather than the details.
I recently asked an AI for help writing a python program with a mutex to prevent outdated information from being accessed. It presented me with a solution that I didn't fully understand, so I asked it to explain that part of the code. And then I asked it to explain part of the explanation. It just kept answering, never getting tired or irritated with me asking for clarification, and generating information that couldn't exist in a book or a blog post. It reminded me of the primer in "The Diamond Age". It catered the answers to my needs and deficiencies instead of making me adapt to it.
> information that couldn't exist in a book or a blog post
I think that exists somewhere. Maybe not something that is specific to situation, but there is enough information out there that can lead you easily to the solution.
That’s why I prefer research instead of this AI assisted workflow. Instead of giving me the specific knowledge I need, it lets me know what I didn’t know and give me much more information to reason about.
I think your point about research is valid, but once that is done and you have a rough understanding of a solution, you just want things to work. You dont want a bunch of ways to do one thing, you want a single opinionated solution. Part of the information encoded in these models is from trainers deciding which answer is best, and that is information itself which isnt necessarily online.
Interesting, this isn't the only life changing invention. Riding horseback was one of them. Cars, then GPS. Internet instead of books. Social sites instead of in-person skills. And so on.
The main danger of AI 'experts' is, in my opinion, the information bubble they create. They not only suggest, eventually they will drive your thoughts. In the direction their builders want. That will be crowd control even worst than Facebook was at it's peak. Currently we know that ChatGPT has woke bias embedded. But that's not the end, right?
It has already happened with people's sense of direction. Lots of people have no idea where they are when they are driving due to being completely dependent on GPS. I see so much lack of situational and spatial awareness on the road. Since people don't know where they are and where they are supposed to go, there's a lot of last moment lane switches to make an exit etc. Lots of very bad decision making because of being continuously lost.
I agree with you. In a more extreme example, I wish I never offload my address book to my phone, I can hardly remember a single phone number in my head now!
Would you have remembered every phone number if it were in a Rolodex?
It’s a skill you have to exercise no matter where you keep contact information. Same deal with outsourcing directions to GPS-using maps apps: you can still maintain a basic sense of direction and how to navigate a city without an app as long as you make it a point to do so.
Honestly when I read comments about how LLMs will make us all dumb, all I can think of is Steve Jobs telling people they're holding it wrong.
There hasn't been a subject that's gotten me thinking as deeply as LLMs in a minute, and I don't even work at the implementation level.
Just coming up with novel ways to use them is a delightful brain exercise that requires ways of thinking that you don't normally exercise just writing code. And since I started interacting with ChatGPT for example, primarily through APIs rather than the web interface, I've started to scratch a mental itch that "normal" programming hand long since stopped for.
You mean when there is an X chance that the answer it provided is BS but in a subtle non immediately obvious way and you have to spend some amount of time 'actually thinking' before you figure it out?
Just to give some context, I've been a marathon runner for 7 years. I have a PB of 3:24, and I'm training for a sub 3 hour marathon right now (logging around 70 - 120km per week). I run 6 times a week, and work out at the gym 3 times a week. I consider myself to be in my all-time peak athletic shape right now.
I don't mean to be rude, but this comes from years of people picking fights with me about exercising and easy ways to get fit.
You're looking for an easy way out. There isn't any. Or there shouldn't be. If you want to really stick to an exercising habit, you have to either do something you really love doing, or just pick something and stick to it. If there isn't some sort of physical activity you love doing and could potentially do effortlessly, you have to start from scratch.
That means putting in the work and becoming disciplined. Building a habit. Which means you have to work against yourself so you can, in the future, be in a position where exercising is at least neutral and effortless. Only then will you know whether or not you'll enjoy it. Never before that. If you have an open mind and patience, you probably will.
You could also just keep trying several other options, until you find sometimes that you seem to enjoy. But chances are you'll probably get tired of it soon.
I'd honestly advise you to work on habit building skills rather than trying to find something you'll be able to do effortlessly, just like that. If you pick something, stick to it, be patient, study it and put your mind to it, I promise you, you'll eventually start enjoying it.
I mean to make it practical, set 30m - 1h a day (or three days a week) aside dedicated to exercise. Block your calendar if you need to. Don't compromise, that time is an appointment, it's not flexible time.
I got in my best shape when I went for personal training. It's prohibitively expensive, but it worked for me because there was an appointment set every week and there was someone telling me what to do.
I mean if you're social, set appointments with friends to go exercise. I've had colleagues who would go play squash, go bouldering or go running once or twice a week with friends.
In shape or fit is several levels below what you describe. Personally, I find running a marathon near lunacy. You may like it, but it's not healthy in the long run.
> You may like it, but it's not healthy in the long run.
I disagree. Not all marathon runners are made equal. Talking about the long run means an extreme training routine that is consistent through a long period of time.
The vast majority of marathon runners are casual runners, rarely logging more than 40km a week. And after a while most simply stop or reduce significantly their training to casual (in terms of intensity) but consistent training.
AFAIK, most research about negative effects of marathon running is related to professional athletes, who have a career in running. Endurance athletes usually start from a very young age, and peak at around 30-40. That's 20 to 30 years of extreme training. And the key aspect here is oxidative stress, which means they are aging faster. There's also a risk that your heart will change in shape to respond to a greater demand, and that may lead to conditions such as arrythmia.
I think I can speak for most of the amateur athletes I know. We're all well aware of the risks. There's just no point in not taking them.
Got to agree on the lunacy. Legend has it that the first marathoner, Athenian messenger Pheidippides, died after running the 26.4 miles from Marathon to Athens and announcing the victory of the Athenian army over the Spartans at Marathon. But he had a good reason to do so.
Funny this is on HN's front page, given that only a couple of days ago I had this dream I got stuck in an elevator and started to smash the doors trying to get out. I woke up and I had just smashed the bedroom window with my bare hands.
I have pretty bad sleep habits, but never had that happened to me (AFAIK, given that I live on my own). That day I was sleep-deprived (3 hours of sleep on the night before), and had exercised a lot (I'm an athlete).
I'm only 27, but I'm still a bit freaked out about the possibility of this being an early sign of some neurodegenerative disease.
These phenomena aren’t completely absent in healthy people from time to time.
If it becomes a pattern you should check it out. If it happens from time to time over your life it’s not a big deal.
These phenomena are also common in young children as they grow up, too.
> That day I was sleep-deprived (3 hours of sleep on the night before), and had exercised a lot (I'm an athlete).
This is the obvious explanation. I know it likely goes without saying, but 3 hours of sleep is a major risk factor for health problems, including degenerative neurological disease if sustained. If you’re experiencing weird sleep/wake relayed symptoms after only sleeping 3 hours, the obvious explanation is sleep deprivation. Don’t even consider other explanations until you get back to a healthy sleep habit, which is hopefully soon.
Also, I’m sure you know this, but 3 hours of sleep is going to offset much or perhaps all of the benefit of intense exercise. Skip the gym and get some sleep if you must. It will be a net win.
If you're male, then on the plus side you're leaving the age window for typical onset of schizophrenia. (OTOH, if you're female, you're kind of in the middle of that window :(
I based my project on the Yamaha DX7, which is an amazing feat of musical engineering. I had to write the code, wire together a MIDI Input, and an audio output (using a DAC). It was one of the coolest projects I've ever made, although I did not get too far.
At the core, all you're doing is generating sine waves. Digital Synths in the 80s would not have the computation power to actually compute sine waves, so what you have to do is precompute the values of a sine wave, and store it in memory [0]. Also, you don't get floats, so it's all fixed point arithmetic [1]. FM Synthesis is essentially a carrier wave and a modulator wave [2]. The DX7 goes beyond that with the concept of Operators, which can be mixed and matched in an Algorithm [3].
I managed to make it produce notes, which were in tune. I started making the envelope (attack, decay, sustain and release), but that's where I got stuck and eventually abandoned it.
[0] https://github.com/fercgomes/churrosfm/blob/master/src/Table...
[1] https://github.com/fercgomes/churrosfm/blob/master/src/Oscil...
[2] https://github.com/fercgomes/churrosfm/blob/master/include/A...
[3] https://djjondent.blogspot.com/2019/10/yamaha-dx7-algorithms...