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

My Computer Engineering degree had an "ethics" course (really a course on "engineering communications", but it was considered to satisfy the ethics requirement for graduation). It was a semester on how to file memos, cargo-cult your resume, and tell recruiters what they wanted to hear. Not a word was said about considering the implications of the things you're hired to build. When defense contractors took over the entire ground floor of the engineering building to hold a recruiting fair, we were encouraged to go.

The only time ethics in engineering was ever mentioned to me was in a class on applied number theory (cryptography), taught by a professor who had previously worked for the EFF. He went off-topic to tell us that many problems, like how to hit a target with a missile, may fascinate and compel us as engineers, but we shouldn't let that distract us into building instruments of death.

That course was an elective, and it was entirely possible to complete my degree without hearing a single mention of ethics.

There are many reasons I look back on my academic experience with disdain, but this one stands out to me.


This is exactly why, as someone who thought I'd be an IC with my head buried in code my whole life, I accepted a role as a tech lead last year. Humans will always need other humans to be human for them. I love working with computers, but supporting, teaching, and mentoring junior engineers has been rewarding for me in ways that writing code never could be. There is no social substitute for concrete relationships with specific people that grow in visible ways. Maybe they can automate away the part of me that's good with logic and reason, but empathy can't be simulated.


Were you able to get into that role without the expectation that you’d still be functioning as an IC i.e. holding two jobs at the same time?

I had an awful experience as a lead because the massive mental context switches between leading and doing IC work were unsustainable.


I've similarly thought about building a language that compiles to Rust, but handles everything around references and borrowing and abstracts that away from the user. Then you get a language where you don't have to think about memory at all, but the resulting code "should" still be fairly fast because Rust is fast (kind of ending up in the same place as Go).

I haven't written a ton of Rust so maybe my assumptions of what's possible are wrong, but it is an idea I've come back to a few times.


Why compile to Rust for this? Many people that build transpilation languages target C directly.


Think of Rust as a kind of kernel guaranteeing correctness of your program, the rules of which your transpiler should not have to reimplement. This may be compared to how proof assistants are able to implement all sorts of complicated simplification and resolution techniques while not endangering correctness of the generated proofs at all due to them having a small kernel that implements all of verification, and as long as that kernel is satisfied with your chain of reasoning, the processes behind its generation can be entirely disregarded.


A C compiler won't complain if your generated code does certain horrible things.


Why, macros that put Arc<Box<T>> everywhere might just be it.


Arc<Box<T>> is redundant, for the contents of the Arc are already stored on the heap. You may be thinking of Arc<Mutex<T>> for multithreaded access or Rc<RefCell<T>> for singlethreaded access. Both enable the same "feature" of moving the compile-time borrow checking to runtime (Mutex/RefCell) and using reference-counting instead of direct ownership (Arc/Rc).


Every so often, YouTube changes something on their site that causes NewPipe to stop working. Usually within a few days, NewPipe pushes an update that fixes this, and we're back in business. Every time this happens, I donate to their Liberapay.

https://newpipe.net/donate/


NewPipe has a few features that I like, but let's be real: most people use NewPipe for the 'privacy' feature AKA: blocking ads.

At the risk of being downvoted for having an unpopular opinion: but if circumventing ads is your goal, then just get Youtube Premium in instead of paying for piracy.

Because contrary to popular belief, the majority of that subscription fee is actually distributed amongst the content creators that you watch. And for the majority of genres this pays the creator more than regular ad-revenue.

I don't buy merchandise because I don't like waste, so apart from direct donations (PayPal/Patreon), Youtube Premium is my preferred way of contributing my favorite content creators.

LTT actually did a good job explaining this: https://www.youtube.com/watch?v=MDsJJRNXjYI


I'd rather donate to NewPipe and to the content creators I like.


instead of paying for piracy

I am not paying for piracy, I am paying for an app that makes YT experience somewhat bearable, and lack of ads is only one aspect of it.

If you want to support your favorite creators, do it through different channels than by feeding the corporate beast.


Google is an evil corporation that I'd rather not mingle with. Blocking ads is a side-effect but it's not the main feature for me.


I think the privacy is more about not giving google a comprehensive view of everything you do on the platform than just not seeing ads. If you didn't want ads, you could just watch regular youtube website with ublock origin, even on android firefox supports it.


Most on HN have already fallen for the dichotomy of scrooge mcduck-style capital vs proudhonist pirates.

Meanwhile publishers are caught between these dueling retards and getting squeezed on both ends. Don't forget the scrapers that will hammer your server until it's offline while swapping IPv6s the entire time

"Why isn't anyone building anything anymore durrhurr???"

Well it's because:

A) Google B) You


Good call, newpipe is awesome. Made a donation now.


A similar exploration by Matthew Rayfield using the URL bar instead of tab favicons: https://www.youtube.com/watch?v=q7GtCLwTmV4


Matt's work is a huge inspiration for me!

I definitely had his URL stuff in mind when making this, but it'd been a while since I had actually read through his blog / watched his video. It was really fun to come back to it mid-project and remember that he went in the same "stack windows to get 2 dimensions" direction.


It's astonishing just how awful Spotify's software is. Everything it does, it does poorly, even down to things like playback and playlists that were figured out by other media players decades ago. Just this week, it started randomly playing music on its own when I open it. The fact that this thread has over a hundred comments within an hour speaks to just how despised it is.

Spotify truly isn't a software company the same way your health insurance company has a web portal but isn't a software company either.


I quit Spotify in the mid 2010s solely because the software was so bad, which robbed me of the satisfaction I might get today from quitting due to its even worse offenses.


An ex of mine used disposable vapes and I was shocked by how beautifully designed some of them are - transparent covers with visible inner workings reminiscent of the Nothing phones; custom multi-segment displays for battery and temperature status; original artwork printed in vibrant color on the side. It made me even angrier that these things are meant to just be used once and then thrown out. Of course putting all this e-waste into the environment is a disaster, but to then also treat art and design as similarly disposable feels heartbreakingly cynical on another level entirely.

I collected a few that she was going to throw out, someday™ I'll build some driver boards for the displays and make a little art piece out of them.


Displays? I'm curious to see these if you know what brand these were.


Looks like one of them is Pyne Pod: https://www.pynepod.com/uploads/bd58c18e.png

The Geek Bar Pulse has the custom multi-segment on the side: https://oss.geekbar.com/products/meloso-ultra/2/Orange%20Cre...


> Looks like one of them is Pyne Pod: https://www.pynepod.com/uploads/bd58c18e.png

Is that a USB port on the underside? A rechargeable, non-refillable vape, oh my...


And disposable, that boggles my mind.



cali 8000 model has them as well.


The worst toast I've seen is on Android Auto (itself already a veritable petri dish of awful UX) where, when the on-screen keyboard appears, a toast helpfully pops up informing you that a keyboard is also available on your phone... Thus blocking the on-screen keyboard from being used until the toast fades (and no, tapping it does not dismiss it).


Add to that list QMK VIA, which allows reprogramming a keyboard running the QMK firmware from the browser!

https://www.caniusevia.com/


This almost reads like a deconstruction of my favorite explanation of Lisp: https://www.defmacro.org/ramblings/lisp.html

The explanation basically uses an AST that's apparent to the user to explain the language - and this is a language built on an AST whose structure is apparent to the user. I love it and will definitely be turning the idea over in my head for the next few days.


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

Search: