HN user

eyegor

2,164 karma

Fun fact: I've maintained and modernized fortran 60 code that was written around when C was created.

These days I mostly do r&d for custom sensors, custom hardware and firmware to drive them, data analysis, physics simulations, etc.

Mostly using c#, f#, python, fortran, c, verilog

Posts33
Comments581
View on HN
arstechnica.com 1y ago

Study: Meta AI model can reproduce almost half of Harry Potter book

eyegor
7pts0
www.youtube.com 2y ago

First sub 2 minute benchy

eyegor
3pts0
github.com 2y ago

Deepseek Coder instruct – 6.7B model beats gpt3.5-turbo in coding

eyegor
6pts1
github.com 4y ago

StackOverflow Importer

eyegor
2pts0
www.cellebrite.com 5y ago

Helping law enforcement lawfully access the Signal app

eyegor
42pts24
github.com 5y ago

IBM Fully Homomorphic Encryption Toolkit

eyegor
4pts0
arstechnica.com 6y ago

Beyond emulation: the effort to reverse engineer N64 source code

eyegor
4pts0
cloud.developerdays.pl 6y ago

Cloud DeveloperDays 2020 Conference – Now Free and Online

eyegor
2pts0
youtu.be 6y ago

Samsung Z Flip does not use glass [video]

eyegor
1pts0
www.nextplatform.com 6y ago

Throwing Down the Gauntlet to CPU Incumbents

eyegor
3pts0
arstechnica.com 6y ago

Using neural networks to upscale a famous 1896 video to 4k quality

eyegor
349pts158
batteryuniversity.com 6y ago

How to Prolong Lithium-Based Batteries

eyegor
2pts0
www.cablehaunt.com 6y ago

CableHaunt: Remote control vulnerability for cable modems

eyegor
1pts0
youtu.be 6y ago

Intel DG1 Xe GPU Announced at CES and Sneaky First Benchmarks

eyegor
8pts1
www.theverge.com 6y ago

Bing loses out to DuckDuckGo in Google’s new Android search engine ballot

eyegor
1pts0
news.ycombinator.com 6y ago

Ask HN: How do you deal with software licensing?

eyegor
4pts4
fsharpnews.blogspot.com 6y ago

F# faster and more concise than C++ for parallel numerics (2010)

eyegor
1pts0
github.com 6y ago

Coz: Finding Code That Counts with Causal Profiling

eyegor
1pts0
www.nosupportvpshosting.com 6y ago

No Support VPS Hosting

eyegor
12pts19
share.dmca.gripe 6y ago

NordVPN's Log from the Breach

eyegor
1pts0
www.androidcentral.com 6y ago

Security flaw lets anyone's fingerprint unlock a Galaxy S10 phone

eyegor
1pts0
netzpolitik.org 6y ago

Surveillance company FinFisher taking legal action against critical reporting

eyegor
5pts0
news.ycombinator.com 6y ago

Snapchat app has made over 5000 requests in the past 24h

eyegor
9pts3
news.ycombinator.com 6y ago

Ask HN: Good place to buy DRM free ebooks?

eyegor
2pts1
arstechnica.com 6y ago

The world’s best bush plane is destroyed on take off in Reno

eyegor
3pts1
prospect.org 6y ago

Uber Goes Back to Basics: Violating the Law

eyegor
2pts0
www.zdnet.com 6y ago

Simjacker attack exploited in the wild to track users for at least two years

eyegor
1pts0
phk.freebsd.dk 6y ago

You're doing it wrong: B-heap 10x faster than binary heap (2010)

eyegor
229pts95
www.hurricanelabs.com 6y ago

Making Easy DOM XSS Easy with Eval Villain

eyegor
1pts0
www.nationalgeographic.com 6y ago

Bizarre comet from another star system just spotted

eyegor
6pts0

On prem beats the heck out of github post Microsoft though... At least you know how to get it working again when someone breaks it. These days with github you expect a weekly 500, a rainbow unicorn error, build failures due to unavailable errors, etc. Last I checked the third party tracker github services were barely pushing one 9 of reliability.

"Chinese repos" is a very charitable interpretation of the Google drive links they used to distribute the os. It seemed like it was on the free plan too, it often didn't work because it tripped the maximum downloads per month limit.

As nice as it looks, I have a lot of trouble believing the "we have magic money, it's free because that's good for business" logic.

    PDFgear is free of charge, and we don’t generate income through any hidden means. We Do NOT misuse or sell user data and we Do Not display ads. Here’s how we keep operations running: 
    We’ve secured investment to cover operational costs, including team expenses and technology like the ChatGPT API. We’re also experienced in optimizing technology usage to manage costs more effectively.

even a 1 minute compile time is dwarfed by the time it takes to write and reason about code, run tests, work with version control, etc.

You are far from the embedded world if you think 1 minute here or there is long. I have been involved with many projects that take hours to build, usually caused by hardware generation (fpga hdl builds) or poor cross compiling support (custom/complex toolchain requirements). These days I can keep most of the custom shenanigans in the 1hr ballpark by throwing more compute at a very heavy emulator (to fully emulate the architecture) but that's still pretty painful. One day I'll find a way to use the zig toolchain for cross compiles but it gets thrown off by some of the c macro or custom resource embedding nonsense.

Edit: missed some context on lazy first read so ignore the snark above.

I've used them as a quick way to get rootless configured base images. Not sure if official repos provide those now, but it used to be a big hassle to get things like postgres images running without root in their containers. Although I often had to read through their dockerfiles to figure out the uid setup, where configs live, etc because they were not consistent between the various bitnami images.

The Best Line Length 11 months ago

If you really want the 80 col experience, I think that was the fortran 77 default. You'd even get compiler errors if you try to exceed it. Of course there were flags to increase the line length limit but don't tell your colleagues.

I wish setup.py was actually on the way out, but sadly, it's the only straightforward way to handle packages that use cython or interop. In these cases, libraries use setup.py to compile the dll/so/dylib at install time. Naturally this is a bit of nightmare fuel since installing gets arbitrary code execution privileges but there's no real standard for privileges in python package installs.

I guess they abandoned the python superset idea? I followed them for a bit when they first publicly launched and they said "don't worry, we'll be a real python superset soon" and the biggest omission was no support for classes. A few years later, it looks to be missing the same set of python features but added a lot of their own custom language features.

That costs money to maintain, even if it's just a few bucks a month. I've seen plenty of Chinese companies using mega/gdrive/etc just because it's free. I used to think it was just cheapness, but depending on the company it can be a huge hassle to set up recurring small bill items. At my current company for example, it's much easier to pay $5-10k once than pay $5/mo.

It sounds like you're trying to use these llms as oracles, which is going to cause you a lot of frustration. I've found almost all of them now excel at imitating a junior dev or a drunk PhD student. For example the other day I was looking at acoustic sensor data and I ran it down the trail of "what are some ways to look for repeating patterns like xyz" and 10 minutes later I had a mostly working proof of concept for a 2nd order spectrogram that reasonably dealt with spectral leakage and a half working mel spectrum fingerprint idea. Those are all things I was thinking about myself, so I was able to guide it to a mostly working prototype in very little time. But doing it myself from zero would've taken at least a couple of hours.

But truthfully 90% of work related programming is not problem solving, it's implementing business logic. And dealing with poor, ever changing customer specs. Which an llm will not help with.

I'll just pitch in as someone who's worked with several 40+ year old codebases and 3+ year old perl, the perl code is significantly harder to maintain. The language lends itself to unreadable levels of terseness and abuse of regex. Unless you use perl every day, the amount of time trying to understand the syntax vs the code logic is skewed too heavily towards obscure syntax. Even the oldest fortran/c is much easier to work with.

Except maybe arithmetic gotos designed to minimize the number of functions. Those are straight evil and I'm glad no modern language supports them.

In the real world, for web things, people use django or fastapi. I'd suggest picking a project with lots of stackoverflow questions and poking around their docs to see which makes you the most comfortable. Personally I tend to favor litestar these days since it has good docs and issues don't sit around for years waiting on one dude to merge prs (fastapi) and it's a lot nicer than django (and I hate django docs).

Flask/quart are painful to work with due to horrible documentation in my experience, but they're popular too. Quart is just an async rewrite of flask by the same owners.

Litestar has a half baked comparison chart here: https://docs.litestar.dev/latest/

Nodejs/js runtimes in general get a lot of development effort to make the runtimes fast from Google et al. It's the default web language so there's a ton of effort put into optimizing the runtime. Python on the other hand is mostly a hacker/data science language that interops well with c, so there's not much incentive to make the base runtime fast. The rare times a company cares about python interpreter speed, they've built their own runtime for python instead.

I don't honestly think anyone can remember bash array syntax if they take a 2 week break. It's the kind of arcane nonsense that LLMs are perfect for. The only downside is if the fancy autocomplete model messes it up, we're gonna be in bad shape when Steve retires cause half the internet will be an ouroboros of ai generated garbage.

Is there a difference between global setattr(object, v) and object.__setattr__(v)? I've seen setattr() in the wild all over but I've never encountered the dunder one.

Have you tried using chatgpt/etc as a starting point when you're unfamiliar with something? That's where it really excels for me, I can go crazy fast from 0 to ~30 (if we call 60 mvp). For example, the other day I was trying to stream some pcm audio using webaudio and it spit out a mostly functional prototype for me in a few minutes of trying. For me to read through msdn and get to that point would've taken an hour or two, and going from the crappy prototype as a starting point to read up on webaudio let me get an mvp in ~15 mins. I rarely touch frontend web code so for me these tools are super helpful.

On the other hand, I find it just wastes my time in more typical tasks like implementing business logic in a familiar language cause it makes up stdlib apis too often.

Coil whine (or capacitor whine) from the gpu running at too high a refresh rate. Easiest thing would be to use nvidia control panel to add an fps cap to something like 2x your monitors max rate for the browser (or globally). It's pretty common with any workload after like 600 fps.

I think it just predicts 2 branches per cycle instead of 1. So it can evaluate the result of n+2 ahead of time instead of only n+1 (typical branch prediction). How this works without wrecking the L1 cache, I'm not sure. It seems like the lookahead past n+1 would make cache evictions much more likely, so maybe I'm missing something here.

Zen 5 can look farther forward in the instruction stream beyond the 2nd taken branch and as a result Zen 5 can have 3 prediction windows where all 3 windows are useful in producing instructions for decoding.

The original paper is open access but I haven't read far into it: https://dl.acm.org/doi/10.1145/237090.237169

Does llvm have good riscv support for cross compiling? In my experience, even aarch64 isn't universally supported as a cross compiling target and building on embedded devices is an exercise in patience. I never even considered trying riscv chips in production since I assumed libs would be a hassle.

Even on rpi4, it's near impossible for a normal person to use the gpu because videocore6 is so locked down that you get zero lib support or documentation. And I'm pretty sure the only assembler is still from reverse engineering instead of the manfr.