Hacker Newsnew | past | comments | ask | show | jobs | submit | more freshtake's commentslogin

If you're focused solely on local network streaming, you can throw most of the features of modern codecs out the window. The trade-off is bandwidth, but if the network can support 100 Mbps, you can get remarkably low latency with relatively little processing.

For example, Microsoft's DXT codec lacks most modern features (no entropy coding, motion comp, deblocking, etc.), but delivers roughly 4x to 8x compression and is hardware decodable (saving on decoding and presentation latency).

Of course, once you've tuned the end to end capture-encode-transmit-decode-display loop to sub 10 ms, you then have to contend with the 30-100 ms of video processing latency introduced by the display :-)


The article captures the two agendas at work. The reality is somewhat dependent on your situation.

If you understand _how_ you should be using AI in engineering, then AI can speed you up because you know what you're trying to build, you understand the fundamentals, and you are the pilot delegating granular tasks. When bugs pop up or requirements change, you'll have the knowledge required to frame and steer the AI to ensure goals are met, and met properly. When AI gets stuck, you'll be able to quickly jump in and work the problem. Your experience will continue to evolve and improve over time because you're plugged into the work and the code. You'll leverage your experience in unexpected ways in future projects, and perhaps your communication skills will improve as well.

Alternatively, if AI is used improperly, it may provide the illusion of velocity up until the point where you realize that your lack of knowledge or involvement actually prevents the AI from making progress. You want to move beyond a simple implementation, bugs pop up that can't be fixed, or new requirements can't be met. You aren't able to dive in yourself, either because you weren't paying attention to the work or were operating too far outside of your expertise. In either case, the progress you thought you were making might actually be a pile of wasted time and technical debt.


The reactive ingredient is passion, not the learning modality. Low motivation is really limiting, no matter how you like to learn. Of course, this topic is hard to discuss in a quantitative way because the number of engineers you come across in your career is a minuscule fraction of the total. Hard to draw broad conclusions like this, but here are a few:

- Formal education is great for foundational concepts (math, hardware, operating systems, compilers, graphics, etc.). Self-taught approaches tend to be goal oriented (I'm learning X because I want to do Y), which can overlook fundamentals that are important. When you don't know what you don't know, having someone to efficiently guide you can save a ton of time, and for some topics, that mentor is a great textbook or teacher.

- Most engineers I know would consider themselves a mixture of formal and informal/self-taught. Again, if you have passion for engineering then you probably like to learn and build, which means you're complementing any formal training with your own tinkering.

I've met and worked closely with amazing engineers and have never found their education style a distinguishing factor. Their passion however, was obvious.

Also, the examples given in the post (Linus, Margaret) were incredibly academic :-)


> The reactive ingredient is passion, not the learning modality.

As a self-taught programmer I agree with this. I started teaching myself on 8 bit computers in the mid-80s and didn't go to university. By the time I got my first full-time programming job, at the age of 19, I'd already been programming for 9 years. By the time most people are leaving university I was already nearly 15 years into my programming journey. It's hard to ignore that kind of passion and drive.

I'm now four decades in and love it in the same way I did at the start. I'm a maker, I like making. I keep reading the papers and am constantly interested in where this thing is going ... and I write a lot of code!

However, I don't like the premise that self-taught engineers lack foundational concepts just because they didn't go the academic route. I think many of us find the academic aspects just as interesting -- it really depends on the field you're in I think. For sure, we don't normally have the time to do a deep dive of something, but by the time you're decades in you've probably got just as many if not more 'foundational chops' than someone who spent a few years at school.

Anecdotally, as someone who's hired and fired plenty over the years, I think there is something to the Self-Taught Engineers Outperform theory. But I think it's purely that they spend much more time doing. They do more in work and they do more in their free time. The passion brute-forces the learning.


I think that what most people mean is that with a self-taught engineer, you have no way of knowing whether they have the foundations. It's going to be much more common with self-taught engineers than with formally-educated ones to have areas of surpassing brilliance, and areas where they don't know their arse from their elbow, and no easy way to predict what those will be until you get to know the specific engineer.

With formally-educated software engineers, so long as the school they got their degree at is a reputable one with a decent program, you can be reasonably confident that they'll have a solid foundation, and if you're familiar with the institution you may even know what their strengths and weaknesses are likely to be.


> With formally-educated software engineers, so long as the school they got their degree at is a reputable one with a decent program, you can be reasonably confident that they'll have a solid foundation

Based on the 100s of candidates that I've interviewed over the years, I disagree. In fact I often wonder what on earth people are doing at these university courses, because they rarely seem to have even a basic grasp of computer science. I've had to personally mentor many (academic route) engineers over the years on what I would consider absolute basics.

Frankly, I don't consider a degree a useful barometer of quality at all. They're only useful if the candidate is applying for their first job out of university. After that, experience is much more important and I basically ignore the education part of a CV.


When I was hiring back in maybe 2020, I used a basic FizzBuzz test. Yep, the FizzBuzz test you've all read about. About half the people (all college grads) who took it could not pass in the allotted hour. Yup, an hour to do FizzBuzz. Whatever language you want. Whatever you want to Google. I'd say 40%-50% could not do it.

A common error was not being able to get the first number evaluated to be 1. They had written(copied) for loops as `for i:=0;i<100;i++` so many times that they couldn't understand that setting i to 1 was all they needed to do. They didn't see the code. Just the "loop line" and it wasn't doing it right. Then it was making it stop at 100 instead of 99. All that before even trying to test mod 5 and mod 3 first.

The people who did pass it would have written it before I'd even finished describing the problem and they would all but sneer (in a professional manner) at the rest of the code "challenges." We made offers to those people and they worked out great.


I've also seen this in coding interviews, but I will also add that when this happens and the line just doesn't work "as it should", a common reaction is to start changing things essentially at random (i.e. without trying to methodically deconstruct what the code does). And sometimes this random approach ends up working in the right direction, but because it requires more than one step to get there, the (correct) first step gets discarded because it didn't immediately produce the correct result.

In general, it feels like many students learn to program by rote memorization of patterns - i.e. they remember that putting those parts in this sequence gives this result, and putting them in a different sequence gives a different result, but they don't know why there is a difference; they just treat them as magic incantations, sort of.

It's kind of like if someone learned to write by memorizing entire words as is without learning the alphabet first. They can recognize or spell any word they already know, but give them a new word and they are completely stumped.


You gave the perfect description of an LLM.


This used to be my experience with credentialed candidates, but I do think the programs universities have been putting together (which are from what I gather, extremely expensive tech school programs that optimize for FAANG acceptance) have made the hit rate for juniors that can actually hack slightly higher than what I remember.

Whether they actually are interested in the work still seems more important than the paper though.


I have never seen a person who self taught even the basics of math, some think they did but they just learned some fractions of the first course past what they currently know. Like nobody self teaches the equivalent of a basic math degree.

Programming though, there are plenty of people who can self teach programming and algorithms, since the theory there is much shallower and hands on than math.


I completely agree. Where I'm at right now, most of the brilliant engineers and admins don't have a degree at all. The ones with degrees are the do nothing look busy with meetings managers.


> .. they rarely seem to have even a basic grasp of computer science. I've had to personally mentor many (academic route) engineers over the years on what I would consider absolute basics.

This is kind of fascinating. Please give some examples.


I find it's a crapshoot even with formally educated engineers whether they know what they have supposedly been educated in or not


> When you don't know what you don't know, having someone to efficiently guide you can save a ton of time, and for some topics, that mentor is a great textbook or teacher.

A bit of a self insert, but I think you described the reality so well that I wanted to offer my own anecdote.

I'm somewhere between formally educated and self-taught. I did not complete higher level undergrad maths like discrete or linear. Because of this, my vocabulary is lacking. I don't even know what to google, even if I could teach myself!

Some subjects really benefit from instruction and direction. It's actually hard to find a math tutor to proof your vector math program in your late 30s. My colleagues either forgot or are using that energy elsewhere.


> It's actually hard to find a math tutor to proof your vector math program in your late 30s.

They exist, if you know where to look and are willing to pay (source: me, or generally and probably more affordably wyzant.com)


It was nice in my 20s when we traded labor for beer and weed. A style of collaboration and exchange is what I aimed to describe.

Now, all my peers have wisened up and can get the big bucks elsewhere. So definitely, if a student of any age has the money, they can get a tutor. But it's nice to find a young tutor who would gladly proof your work in exchange for tacos or help on their CS homework


As another commenter proposed, try getting a course book and going through it at your own pace. With your newfound determination and interest it wouldn't surprise me if you stuck with it this time. Alternatively, if you prefer putting vector math into immediate practice, fields like graphics and game dev use it a LOT.


I've got them under my thumb now, and thank you! I've managed to muddle through linear and develop an ECS and prove it's in linear space and enough discrete to be pleasantly surprised by Noam Chomsky's many lives.

I used them as examples of when I transitioned back to CS and had to learn what to learn before I could learn. So to speak.

Anything on your own learning journey you'd like to share?


Have you considered trying to acquire the language by reading a textbook alongside a lecture series?


Quite a bit! MIT and Harvard open courses are great for aligning self-guided learning and finding vetted resources. My regex compiler would not be functional without those lecture series.


> The reactive ingredient is passion, not the learning modality.

Sure, but passion also drives self-teaching. It's less necessary in a classroom setting because there's always someone trying to keep you on track.

> Self-taught approaches tend to be goal oriented (I'm learning X because I want to do Y), which can overlook fundamentals that are important.

For some, understanding a system can be a goal in itself.


> mixture of formal and informal/self-taught

That's me. Took plenty of college classes, but never tested well, so never got a degree. I learned most everything on my own, but those classes were a foundation for what I taught myself, and I couldn't have done it without them (as quickly).


This is a good point. I think the structured curricula can be the only way to learn many technical topics, even if you aren’t being formally taught. I also found my time at university to be invaluable for the equipment, facilities, and resources that were made available to me for learning that I could never have provided to myself.


Yeah, being lead to some water does not create dependence on being lead to all water.

If there is a consistent argument, it's that self-taught people have all demonstrated leading themselves to some water.


The issue, unfortunately, is that society has failed to recognize the real dangers of social technologies (social media, social AI, perhaps AI in general). 30 years from now if we're lucky, we'll be watching senate hearings with AI billionaires being asked how they didn't realize their products were so harmful.


I am more and more convinced that social networks are causing the increased political instability and breakdown of communication. In the past media was centralized. So the powers that be focused on it and controlled the message. We had a kind of common understanding and language. Some idealize BBC or the great newspapers of the past, but they have been lying to us since forever. Remember the WMD discussions leading to Iraq war?

But now, because everyone can publish, they lost control. So instead they are bombarding us with all sorts of contradictory theories and conspiracies. We have come to be unable to communicate. And maybe that is the intended goal. If you can't control the message, make communication itself worthless. People choose emotionally and based on tribal allegiances. It has become an identity war. We can't even communicate with our parents now, there is an "explanatory gap" between identity tribes.


It was the BBC that linked me directly to Hans Blix's reports on the UN's search for WMD in Iraq. It was that that convinced me that it was all made up bullshit. It was much more convincing than the obvious wishful thinking that was coming out of the US and UK governments.

For sure social media is propagating conspiracy theories, some of which are the modern equivalent of "Saddam can deploy his WMD in 45 minutes", but I don't agree that old media was doing the same. Quite the opposite.


These senate hearings are happening right now.

There is no moment in history when we all look back and go, ah, that was a mistake. Nope. That only happens right now, we're all creating the world we want to live in today.


Oh but they realize. They just don't care because they (the Elites, the wealthy, who are the real decisionmakers, not the politicians) have enough money to never have to interact with the proletariat, the common man, ever again. Enough money to be shielded from the consequences from their actions.


This post isn't (really) about AI, it's a political rant masquerading as a tech post with oversimplifications of politics, economic systems, and AI. It's an entertaining enough read, but I'm not sure why it's on HN.


If I allegedly train off of your training, which was trained off of copyrighted content under fair use, we're good right?

Just asking for a friend who's into this sort of thing.


I don't know, I think the point of the example is one of transparent engineering. VHS players could break for any number of reasons but the manufacturers used to put in effort to make them repairable. Obviously a much simpler piece of hardware, but the relative effort felt much greater.

When I used to use Google Wifi, it regularly struggled to connect or establish/maintain connectivity to the outside world, even though my modem was successfully connected. Similar to nest devices, you often have to power cycle them several times to get them into a good state


I guess. All I know is, when I was a teenager we had a broken VHS player that I wanted to fix. I was a clever kid, so I took it from a broken VHS player, to a broken VHS player that was also in many pieces.


Lol yeah, very familiar


Until the code breaks and no one can figure out how to fix (or prompt to fix) it :)


And then your manager is wondering if you're a software engineer why you can't debug it


`git blame` comes in handy


"This broke. Here is the error behavior, here are diagnostics, here is the code. Help me dig in and figure this out."


I'm sure it can diagnose common, easily searchable well documented issues. I've tried LLMs for debugging and it only led me on a wild goose chase ~40% of the time.

But if you expect it to debug code written by another black box you might as well use it to decompile software


Sometimes the error message is a red herring and the problem lies elsewhere. It's a good way to test imposters that think prompting an LLM makes you a programmer. They secretly paste the error into chatGPT and go off in the wrong direction...


This. For folks who regularly write simd/vmx/etc, this is a fairly straightforward PR, and one that uses very common patterns to achieve better parallelism.

It's still cool nonetheless, but not a particularly great test of DeepSeek vs. alternatives.


That is what I am struggling to understand about the hype. I regularly use them to generate new simd. Other than a few edge cases (issues around handling of nan values, order of argument for corresponding ops, availability of new avx512f intrinsics), they are pretty good at converting. The names of very intrinsics are very similar from simd to another. The very self-explanatory nature of the intrinsics names and having similar apis from simd to another makes this somewhat expected result given what they can already accomplish.


If I had to guess, it's both the title ggml : x2 speed for WASM by optimizing SIMD and the pr being written by ai


+ Deepseekai recently being in the headlines + Lack of knowledge around simd extension. Modern social media is interesting...


I do have to say, that before knowing what was Simd it was all black magic to me. Now, I've had to get how it works for my thesis, on a very shallow level, and I have to say it's much less black magic than before, although I wouldn't be able to write Simd code


Deepseek r1 is not exactly better than the alternatives. It is, however, open as in open weight and requires much less resources. This is what’s disruptive about it.


This exists to an extent today. If you apply your profession to an area that the government deems a societal good (e.g. you work at a public university), it can be discharged after 10 years. This was status quo for decades.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: