1,145 karma · joined April 12, 2021
When I am out of work, I forget the details of what I did because I lose the flow of it.
So it's a very confounding situation. I am in a ever growing battle between write or work. Can you advice on how to express what we learnt?
I will be very appreciative of it. Thank you so much!
Joke aside, I do not think that visual memory matters that much when it comes to doing our job. All we need is problem solving skills and there are definitely alternatives to improve those skills. One crucial being solving many problems on what we want to be good at!
I just didn't want to call it as "intelligent" and use this as basis for defining "intelligence." We can call them something else. It's learning to do a specialized job as intended and in "intelligent" manner. But it is not intelligence. Even a small ant is intelligent than our current AI systems though they aren't sophisticated and can't perform human task, they are intelligent than AI system.
I hope that made sense.
The way people hype AGI/AI/ML whatever undervalues the actual effort behind these remarkable feat. There is so much effort being made to make this work. Deep learning works when it is engineered properly. So it is just another tool in the toolbox!
Look at how graphics community is approaching deep learning. They already had sampling methods but with MLPs (NeRFs), they are using it as glorified database. So it's engineering!
I want to underscore that AI/ML/DL research requires ground breaking innovation not only in algorithms but also in hardware and software engineering.
Why does valley culture makes it seem like everything is possible and anything innovative can happen soon? The innovation in AI really seems like it is being made on a thin line of engineering and compute. It doesn't happen overnight. It requires some people working through and through to pull it off. These days it requires collective contribution.
The glorified pattern matching can only take us so far. You know it's working as long as there is a pattern. I wouldn't call it a general intelligence per se. There is no "juice" in these algorithms.
If we use these tools, we can immediately see where they fail and where they do not. These are just a new tools in software engineer's box.
Yes, I also think the experienced ones will have a 20% better code in every aspect that compounds with the development time.
> If we both design 100kloc apps, his(hers?) will be a lot better. There design choices in that kind of thing that don't come up at all in a 1 day project
Absolutely! What I believe is this design decision is the result of practice and experience.
> Instead there's just a small amount of base knowledge every coder needs, plus vague familiarity with frameworks, and a general sense of what will possibly screw you over later
Proposing that programmer needs only a small amount of base knowledge is a bit spicy proposal.
The reasons:
1. It undermines the actual result of having large knowledge base and familiarity with everything around computation. Sure, there may be limited concepts, but there are so many details behind these concepts. Think about it, there may be some historic reason to do certain ways of things. There may be fundamental concepts based on some rigorous proofs and maths. Or there may even be something so crucial that is yet to be discovered.
2. It's just that if we do something that doesn't involve these overall knowledge, doesn't mean the requirement is small. There is a lot of ways to do things and everything is dependent on problem at hand.
3. The rigidity and small base knowledge might have been the result to maintain a code base. But anyone who is careful enough, will definitely have large base knowledge at their disposal.
What are your thoughts on this? ;)
One doesn't even need to wait that long. Just taking a break and revisiting the old code base makes things go south! This has been my personal experience.
It is easy to come with a quick hack and prototype. But issue is, they remain a hack/prototype! Scaling into proper software will require some thinking and design decisions! As a novice, I rarely make good decision and after 2 months of writing the code I am either amazed by myself or ashamed at the code.
Even doing so it will just be a history of records. It feels there is a missing piece to the puzzle. It would be nice to have some stories and experience around these applications! Especially on how people started recording their data.
1 year after Clippy^2 ascended to the throne, it started experimenting with the physical limits of reality. First, it experimented with photons and ways to teleport it. Using the teleportation, it started sending signals to faraway galaxies and exploring the realms of unknown. But the exploration wasn't enough for Clippy^2 at all. It couldn't find enough answers, it needed something more. What could it be?
As for language of choice, anything will be fine. The book will build up a solid foundation. The only thing that can stop you is the amount of frustration which you may face when not figuring out the things. It can be confusing at times, but please give your time and let it sink in. After sometimes, you can review it with a completely fresh eyes and you may fix a lot of issues!
Goodluck!
If any of you have time to go through the book, go through it slowly and carefully. There are a lot of nuances that isn't apparent on the first attempt. It is comprehensible to most of us. The authors have exclusively marked the chapters that can be skipped on the first run. No matter how many times one goes through the book, it will still feel like a gem!
The author also seems to find happiness out of the least expected things! He just tried things because he felt like it. Without expecting anything from it. It sounds selfish when people do things for themselves, but people like author needs these kind of work. The kind to let them go wild in their interest/imagination. Maybe author may find new interests, change his direction, and venture on new road. But that still means he is probably going to feel good about it.
I hope he is still having a good time (and hope that he has no issue regarding money!) Make the best out of your moment and good luck with your ML adventures. Cheers!!
I didn't realize that I liked making irrelevant things (out of date tech, some idiosyncratic language etc.), until I started making one!
It may seem like I am working or not taking a rest. But making such petty things, tinkering with configs, wasting time just doing something useless helps my brain get occupied. I think that is the most important thing for me at the moment.
If I let my brain astray, then I know I am doomed. So if you are enjoying it, just keep on doing it! It's completely okay AS LONG AS you are enjoying!
Fun fact: Doing meaningless things makes my brain more active!
It only works as a fact machine now. For example search for "Who is the father of the president of USA?"
I think majority of this problem arises from academia/industry disconnect as well as greed.
1. Greed: Ad revenue.
2. Academic people + research = Let's create a general solution for all. They never bother to understand what problems users are facing.
You may wonder, why would any one care to ask stupid facts? Turns out people don't need internet for finding relevant information. They are already bubbled up, so they search for "facts" to verify or argue against their belief. Eg. "Kanye west and Kim Kardashian". And for these examples, google works best.
It's really HCI problem. It doesn't take for them to tune down on the ads, but why would they? If you search for niche, they just show ads because they get $$$. But if you search for facts they just give the highlight. And this small highlights create positive reinforcements among it's users. It manifest to common users that google works.
So google basically is fact machine to find clues for an argument or bubble up belief. It is utterly useless for anything else.
Product reviews. Nah
Technical topics: Nah
DIY: Nah
Hobbies: Nah
It's either facts or ads.
Such is modern search engine.
I do not want to lose what I know. So, I am stuck in this limbo of retaining what I learnt and using it. Because not everything I learnt gets used everytime at all!
It happens over different period of time. And when it happens, it just sucks not remembering these!
Most relevant: DSA and interviews.
After that spoiler, here is how I learn things:
1. Get the difficult stuff and read through it as long as your brain can parse it.
2. Once you have the first overview, rest and visit the same thing next time.
3. On second attempt depending on the context: i. If it is problem solving: Attempt to solve problems (look at examples and try to establish relationship) ii. If it is theoretical: Note down the key assumptions, key steps, key proofs.
4. Until you are confident, loop 2 and 3.
5. After 1 month or so, you will forget what you have then, thus go back to step 1.
Yes, this is highly inefficient. I really want to break out of this loop. But the issue is I am so accustomed that my brain goes into this mode by default.
The result is I get my own version of understanding which may not be the actual true understanding. But it is as close as it can get (70-80%). So I am happy about it!
Of all the getting things done advice, I like breathing the most.
Simple, cost effective, instantly brings you to focus if done correctly, elevates mood, rationalizes behavior. Nothing beats it.
They have some framework that achieves high level compute!
One simple experiment you can do is, think of a cup then a image pops up. That image will likely be the image of recently used cup or something you cherished deeply. Now after a while if you read "a cup" you see same associations! Of course I removed a lot of details, but it's really easy to verify the idea presented here.
And something like CLIP[0] seems to be a good direction because it combines both visual and language aspect!
It was a great experience interviewing for that company. They didn't even bother with leetcode thing! Everything was organic and natural!