jeffhykin

joined 2 years ago
[–] [email protected] 9 points 2 years ago

Either this, procrastination cleaning, or someone-is-coming-over-in-10-minutes cleaning.

There is no other way to clean.

[–] [email protected] 3 points 2 years ago

Will it ever hurt though? Its designed to make GitPod just feel uncomfortable while making VS Code feels good.

[–] [email protected] 11 points 2 years ago* (last edited 2 years ago)

So I do reinforcement learning research at my university, and the coworker I sit next to everyday does traffic signal optimization using multi agent reinforcement learning and simulation. (E.g. his reseach is on stuff like this paper)

And we literally agree with you; sensors are THE problem for 90% of the inefficiency. Its rare to even know how many cars pass through in a day, or whether its 1 or 500 cars waiting at a light. However, Google knows (or can approximate), which is partially why they and they alone can get something like 30% improvement.

The other 10% inefficiemcy is coordination stuff though, which can be more difficult than you might think to fix.

[–] [email protected] 57 points 2 years ago* (last edited 2 years ago) (1 children)

A (nice) coworker once asked me if I had a system for managing tasks.

I thought they were asking to learn, so I enthusiastically told them about the ~30 different systems I use; the inbox of all incoming tasks, a flowchart for task allocation, urgency VS importance whiteboards, etc, etc. I mentioned each of the books and methodologies those systems came from. (I highly recommend this 5min vid and listening to Order from Chaos (written by and for people with ADHD))

"Oh... cool" was their response, and in that moment I realized they were actually asking because they thought I didn't have any system at all...

[–] [email protected] 18 points 2 years ago* (last edited 2 years ago) (2 children)

"Its MIT open source and anyone can use it!"

  • But Microsoft only publishes a not-MIT licensed one
  • And if you DONT use that one, the extension store created by microsoft wont work
  • And even if you make your own extension store (which people did for VS Codium) you legally wont be allowed to use any of the de-facto quality of life extensions (Python, SSH, Docker, C#, C++, Live Share, etc)
  • And those extensions default to needing fully-closed-source tools develped by microsoft
  • AND, unlike Chromium, anything that tries to fork and build on top of VS Code, (e.g. gitpod; a web-based dev environment) will die because none of the de-facto/core/quality-of-life extensions people are used to will be available. They'll have to use the Microsoft alternative (e.g. Github workspaces)

The MIT codebase is just bait

[–] [email protected] 2 points 2 years ago* (last edited 2 years ago)

I don't know about math reduction not being the bottle neck. If I was custom optimizing hot code then yeah, cache hit optimization is huge, but I'm thinking of generic optimizations on hot code that only the compiler looks at. Beyond out-of-order-execution and SIMD kind of algebraic shuffling. For example, I want to be confident that the compiler would transform something like

for each in range(x) x += x

into x*=x+1

And based on stuff like this (which is shockingly recent IMO) I don't think modern compilers can even find that shortcut right now. Which is kinda sad when you think about it.

If x=65536, any non-algebraic optimizaiton would be vastly inferior. And sure an experienced dev wouldn't make this kind of mistake, but I bet half the code running on the average computer wasnt written by experienced devs. And its not like its an either-or situation, we can do both optimization steps.

[–] [email protected] 1 points 2 years ago

Cool I'll give them I shot! I'll admit I haven't heard great things about typical HDL langs, so I haven't looked into them much

[–] [email protected] 13 points 2 years ago* (last edited 2 years ago)

It could start by having a pinned post thats updated with links to specific-topic posts. It would be a low barrier start, and it would make sure new topics (like washing dishes) show up in a feed. (If they don't show up in a feed I'm probably never going to read them)

Once there's enough content it'll be straightforward to convert to a wiki.

Topics I'd like to see are; short/simple guides to rainwater collection and solar panels

[–] [email protected] 2 points 2 years ago

This is a really good point. If a complicated pure function is straightforward-ly converted into a boolean expression; at some point the the best way to simplify it would be making a Turing machine INSIDE the expression itself.

I was mostly thinking of small scale functions or sections of really hot/real-time code. Maybe using it for analysis for potential new/helpful instructions for an assembly language or as a foundation for highly advanced bit-level optimizations like the inverse square root hack for Quake (but automated and generic).

I'll check out that link! In my undergrad one of the classes had us make our own machine language starting from logic gates, muxers, building registers, memory, adders, ALU's, etc all the way up to a our own custom assembly language. It was probably the most helpful class in my entire undergraduate.

[–] [email protected] 1 points 2 years ago* (last edited 2 years ago) (4 children)

And with so much stuff being built ontop of C (or at minimum LLVM) I was afraid that would be the case.

I was kinda hoping there would be some hacky compiler that could take a C function like:

short doStuff(short a, short b) {
     short c = a * b;
     short d = c + a; 
     return d;
}

/* A more realistic example would be something like AES/DES/DEA  */
  • Create boolean inputs for the bits in a and b, and an boolean outputs for c
  • Have mappings/templates for converting multiply and add into boolean logic expressions
  • Simplify/compress/optimize the expressions
  • Print out some kind of expression or maybe graph representation of the logic gates and connections
[–] [email protected] 1 points 2 years ago* (last edited 2 years ago) (6 children)

Sorry, I meant a general language rather than one that is described as a "hardware description language". I went ahead and edited the post to be more clear about that.

Thanks for the info though as others might still be interested in it!

view more: ‹ prev next ›