skysight-inc/HackerNews huggingface dataset:
Too many software engineers get into a mindset of “just make it work.” For me, making it work is only half the battle. You need to build something that will make it possible for you or someone else to come back to later and be able to reason about and modify or extend.

I interview a lot of job candidates and I give them a very simple problem. Pretty much everyone can solve it, but I’m not just looking for them to solve it. I’m looking for them to find the right abstraction—one that will make it easy to extend the problem and for junior devs to look at the solution function and understand exactly what it’s doing. Almost no one passes.

My coworkers ask “just make it work” problems in interviews, and I believe that has contributed to our codebase being a nightmare to work with.

I think most software engineering is an organization problem, rather than a optimization problem. My advice: learn functional programming and object oriented design. You will learn how to write declarative code that is loosely coupled and not dependent on its context.
Introduction to Cryptography by Christoph Paar: (https://www.youtube.com/channel/UC1usFRN4LCMcfIV7UjHNuQg/vid...) He's a good professor and he takes the time to explain every detail.
For the pocket knife aficionados out there, if your ever in Portland higly reccomend taking a tour of Benchmade's factory. They've got a ton of history about the company and you get a chance to view the factory floor(industrial laser cutters!) where all their knives are made.
It's so easy to convince ourselves that eating meat is completely fine. Maybe it wouldn't be that easy if every time you wanted to eat meat you had to go yourself to the slaughterhouse and see the horrors caused by those you pay to.

Second, is proven that growing vegetables is more sustainable that growing meat.
It's nitpicky, but the original title is the title of the article. Otherwise anyone could rewrite any title and call theirs the original.

Also, please don't slight another user like that on HN.

I've put "CA" back in the title above.
> The problem is not so much the security of Javascript itself but the craptacular state of the Javascript/Node ecosystem where pulling in random unchecked dependencies is the norm, for example. So lowering the barrier of entry to already bad IoT to Javascript programmers that have no clue whatsoever about embedded work is likely going to be a mess.

Embedded already is a mess, these people can twiddle bits and bytes, but they're the most idiosyncratic and change-resistant folk among programmers. In some ways, they also have it really easy because their hardware is relatively fixed and their ecosystem evolves slowly.

> Also the fact that you need a pretty beefy MCU (=costly and not just the price of the chip itself but also the stuff required to integrate it on the board - e.g. all the RF stuff) just to be able to run Javascript on it - and cripple it in the process, because then the majority of the processing capabilities of the chip are going to be wasted on interpreting Javascript code instead of doing something useful.

Another thing embedded developers like to do is requisition "minimal" hardware even when it doesn't matter (neither in terms of price nor power) and then screw over shipped hardware on new future requirements.

A lot of these MCUs spend most of their time doing absolutely nothing, having an interpreted language there isn't necessarily a problem (though Javascript or Python aren't really ideal here). Interpreted code can drastically lower the risks associated with OTA updates.
You can debug iOS (and tvOS, since Apple TV 4K doesn’t have a USB port) apps wirelessly now.
Pilot Recounts Tales of SR-71 Blackbird
Would you mind sharing that problem? Always looking to improve my own interview questions.
Jobs was a true tech visionary, the kind they don’t make anymore. Not to undercut the arguments about sales, but his ability to sell came not from charisma alone but from a crystal clear and compelling vision of how technology could work for humans.

Think of his line from circa 1980, “the computer is the bicycle of the mind.” This is a profound and easy to grasp vision for computing. Everything came from that vision. The products, the sales, the most valuable company in the world. It’s all about how technology can empower people.
I agree my comment does sound brash, which wasn't my intention.

But what I meant was, apple is selling products, and trying to maximize it's profits. If you don't like the feeling of manipulation, you don't need to buy into it. Marketting, social pressure, device ecosystems, they are all strategies that get you to buy, and keep buying.

And I implicitly did address the OP's comment, in that I agree. They are forcing people's hands, it sucks. But if you are going to buy into it, you might also recognize that other's will buy into it and try to make profit for yourself by owning a portion of the company.

I was in no way implying that I'm rich. I was implying that you can play the game too if you want. What do you think will happen as AI continues to develop? Either you sit idly complaining about robots taking your jobs, or you start trying to gain part ownership of the companies that will build those robots. You have to be proactive because companies don't give a sh*t about your wellbeing, they have no incentive to do so.
Apple spent $356 million on Authentec for its fingerprint authentication technology and more on research and is dropping that in favor of Face ID.

Apple is well known for dropping ports. It dropped all of its ports for USB back in 1997.

I doubt that Apple will let sunk costs stop it from moving forward.
Interesting that you say "never" vs. "never again"…
That, and playing rhythm games. No more Tap Tap Revenge.
Ancient tool technology: precision soft soldering [video]
Learn to pay attention to that feeling that tells you an abstraction is missing. When you try to bring something to life using the tools you know & it starts to feel much harder than it should be, that's a good sign there might be another tool out there you can use to get the job done. If you can't find anything, that's a good time to start asking if it makes sense to try a different approach or build your own.
Have you ever known Apple not to drop ports in fear of pissing off customers?
Linus Torvalds apologizes for his behavior, takes time off
> I’m looking for them to find the right abstraction

Nothing worse than an interviewer asking a design/coding question and who already "knows" which answer he/she wants.
Art of the problem (https://www.youtube.com/user/ArtOfTheProblem). Deals with cryptography/information theory. And of course our beloved 3b1b
PrEP sold under the name Truvada in the U.S. I actually saw a TV commercial for it earlier today.

https://www.cdc.gov/hiv/basics/prep.html
That would be an even better reason for Apple to switch to USB C on both ends.
Not to mention the bonus multipliers and RSU grants depend a lot on your level. I recall there was a steep difference between L5 and L6. I assume there is a similar one between L3 and L4..
Learning to understand the domain you're modelling thoroughly. To ask enough questions so you don't build the wrong thing for the person who's requesting the work.
This looks like an interesting tool. Please prefix the title with "Show HN:"
Nick Sibicky's lectures on how to play Go (well) made a huge difference when I started playing. I dont play as much nowadays, but I still think about some of his strategic concepts as they relate to startups.
Hello,

They ended up helping me get a vehicle which will help me get a job here. I have a few projects which are bringing in funds in the meantime. I'd love to talk about a paid apprenticeship if you're still interested.

Thanks,
Jesse
A few things that come to mind:

1) version control (git at least)

2) soft skills (how to deal with people)

3) learn some new languages outside of your comfort zone. Learning new languages is always useful and you can get a feel of different domains

4) The tools you use to make your magic happen. Learn your IDE shortcuts, optimize your toolchain.

5) And, kind of related, think about your ergonomics. Working at a computer for 8 hours a day can be quite bad for your health. Make sure your environment is good for you, desk at the right height, good mouse / keyboard, and maybe do some sports on the side.
Or not let low-level Chinese employees have access to secrets. Apple is known for being very punitive against leakers and is very secretive. It seems to work for then.
Interesting - you've pretty much hit the crux of my issue. I'm pretty aimless right now, which is a big part of why I struggle to make choices on things like this. Setting definite goals is something I've always kinda danced around, it would be good to build up a habit of doing so going forward.

Thanks for the words of advice, definitely has me thinking.
Learn to ship.

Make something useful, even if just for you and maybe three friends. Ship that. Sooner. Ship it when it hardly works. Then iterate.

This will teach you all the good bits of "agile", some requirements thinking, pragmatic programming, and (if it's a web thing) some basic "how to maintain an app on a server" skills, all in 1 go. It's also all stuff that is super hard to learn from books or from too-experienced coworkers.
Prof David Malan. Teaches CS50 and CS50x for remote learners through edX. In the immortal words of Russ Hanneman “this guy fucks.” https://www.youtube.com/user/cs50tv
Google, without question.

You'll be gold-plating your resume. Also, knowing several people who have worked at Google for years now, it's the only tech company I've heard of that seems to take an active interest in a software engineers actual career and growth.
A tip to everyone that likes natural history: the Royal Tyrrel Museum in Drumheller, Alberta (one hour drive North East of Calgary), Canada is probably the finest natural history museum in the world. Their collections of Jurassic/Cretaceous dinosaurs and fossils from the Cambrian Revolution from the Burgess Shale are mesmerizing.

[1] http://www.tyrrellmuseum.com/
Show HN: whatSpeed – speed tests for the cli
> I'd just like to interject for a moment. What you're referring to as Debian, is in fact, GNU/Debian, or as I've recently taken to calling it, GNU plus Debian. Debian is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.
Well, Macs still use Touch ID, as well as a couple of iPhones that they still sell.
If you're using Firefox, use the reader mode.
That sounds like a lot of wasted money. As long as it works there's no reason to redo it. Thank god I dont work at the same company as you.

If there's anything new software developers need to learn it is to make money for the company and stop worrying about the code.
You know, the classist argument is probably stronger than my old-tech cheerleading, and is a good point that I was only barely thinking about. So, thank you :)
They have never had this many customers to piss off. A billion active iOS devices is pretty serious.
Take on challenging problems, ask lots of questions. Always try to understand both the technical decisions and business decisions/value in whatever project you’re a part of.

Try to avoid anything resembling blog/resume driven development - the real things to worry about are writing code that solves the business problem in a simple, quick way, while being easy to modify in the future, low on bugs, easy to monitor, and ideally reasonably performant. Using hot new frameworks/tech is unimportant, but writing well tested, modular code with the right data models, simple architecture, and good logging/telemetry/alerts is very important.

Get comfortable with a set of tools that make sense for the work you’re doing - an editor/IDE, a debugger, a shell (and common Unix programs, if you’re in a Unix environment), a VCS, whatever build/deploy tooling your company uses, etc.

Avoid the common dev mindset that dev managers, product managers and/or designers are the enemy. It IS your role to focus on important technical needs, but realize that they must be balanced against delivery times and business value. Sometimes you need to leave hacks in place, if there’s not too much cost to leaving them there. New features and bug fixes ARE often more important than cleaning up code/architecture, when you do take time for technical priorities, make sure you’re choosing high impact ones.
From https://www.trustedreviews.com/news/apple-usb-c-european-com...

> The European Commissioner for Competition ... is considering clamping down on tech companies who have made “unsatisfactory progress” towards common charging standards ... Apple is now the biggest player to have not adopted the USB Type-C standard for its flagship phones ... This is no idle threat ... the European Commission were recently behind the record €4.3 billion fine levied on Google

https://www.theverge.com/platform/amp/circuitbreaker/2018/9/...

> Apple’s upcoming iPad Pro rumored to switch from Lightning to USB-C ... Ming-Chi Kuo says that the next high-end version of the tablet will switch over to USB Type-C
I can't recommend 3Blue1Brown enough. I essentially had to learn linear algebra three times between high school and college, and his Essence of Linear Algebra series still managed to teach me new things. What particularly sets him apart is his phenomenal visualizations of tricky problems involving higher dimensions, mappings, and the like.
Hammer the people who should be coming up with requirements, the BA or PO or whoever it is to take responsibility for proper requirements. From your end read things like the Clean Code book and Head first design patterns.
they will kill anything that 99% of their users dont care for. it would be insane not to.

it is strange for us people because we know 1000s who care for those products/features
The basics, the stuff that is one or two levels of abstraction below the 'normal' stuff. Write a compiler, write a query optimizer for an open source SQL database, write a new IO subsystem or memory allocation subsystem for MINIX, write a kernel for a Vector PU in, say, CUDA. Write a 4k demo in assembly. Grab a soldering iron and built your own mouse then write a driver for it. Write your own TCP/IP stack.

When I was a student, way too many years ago, the Uni I attended was very heavy on theory, lots of discrete math, physics, calculus, Big O analysis, electronics and computers architecture, Lisp, Prolog, CLISP, data structures and algorithms, wide search vs deep search, rebalancing red black trees on paper, etc. At the time I was very unhappy about it, I thought "why are they not teaching us C++, Visual Basic and this new language called Java that it's clearly the future?" But now, twenty years later I am very happy with the formal education I got. Having an understanding and an intuition of how things work all the way up and down the stack from transistors all the way up has proven invaluable during my professional career.
I went from Inbox to Fastmail about six months ago, more due to data privacy concerns, but that's not necessarily important here.

Fastmail is a great service that I'm very happy with so far, but you will have to set up your own "bundling" if you want that feature. I have found the Fastmail rules configurator to be easy enough to use and set up. For example, anything from '*@amazon.com' goes into "Purchases", anything from 'mom@email.com' goes into "Family", various mailing lists go into "Newsletters", etc. All the other stuff gets archived. The rules configurator is much more comprehensive than this, but I haven't found a need to filter by much more than domain name yet.

Their stance on privacy is great, their phone app is slick, their calendars and file storage get the job done and are at least as good as their Google counterparts. It's very easy to set up forwarding and replies from your gmail address as well. I am happy to pay for their service and plan to keep using it for the foreseeable future.
What do you mean? FireWire wasn’t widely adopted in the consumer market, but who cares? Most digital video cameras at the time supported FireWire as well as laptops from Sony and the higher end laptops from Dell.

There wasn’t any dirth of hardware for people who needed it and where it made sense.
Might as well take the chance to ask here:

Is there a way to get the count of total tmux sessions being run on any machine, for all users?

I can do "tmux ls" but that only returns for the current user.
https://www.theguardian.com/science/2009/feb/08/jurassic-par...

Or search: "Jurassic park wrong about dinosaurs"
Damascus steel requires much more time to hone. It holds an edge longer, but I'm not sure it is worth the frustration involved in getting an edge.

My favorite straight razors are my vintage ones, mostly because the steel is of lower quality....they take an edge real fast!

Damascus steel also makes products very expensive. I tend to lose straight razors and pocket knives, so it doesn't make sense to make such a large investment. The investment will extend to honing stones....you'll probably want a Belgian Coticule which run $100+.

Damascus steel looks super cool though. If I was a superstar sushi chef, I'd want Damasteel just for the brag points.
I'm still waiting for a decent pair of bt earplugs that wouldn't cost me a fortune. Still have to use Sony SBH50 + Marshall Mode EQ as a half-way solution.

Wired wirelessness.
Sentdex has some excellent videos on python, surprised nobody mentioned him yet.

general engineering/science: Applied science is just so so good

Chemistry: NurdRage and Nile red are both good, although I prefer NurdRage.

Electronics: Mike's electric stuff, Mr Carlson's Lab,and bigclive.

Math: Can't beat 3blue1brown, although numberphile has some good content as well.

Maching/shop: This old tony and mrpete222. Ave is entertaining but not too educational.

Comp Sci: sentdex (python) and liveoverflow (security/Rev eng).

Most of these aren't courses, although they are all educational. For instance, applied science isn't trying to teach anything, he's just presenting his projects. But unless you are a true rennisance person I guarantee you will learn something from every video.

Edit: forgot to mention, check out speeches from conferences like cppcon and defcon, excellent sources that are sometimes easy to miss.
Some adaptive system for adjusting the transmission power might help. Now I can leave my phone on the desk and wonder to the other floor and other end of the apartment with my AirPods working just fine.

Or do they already have something like this?
What qualifies something as a unique operating system? Debian is just a bunch of userspace apps too.
Do the startup if their technologists are good -- you will learn at 10x the rate. That compounds and will put you years ahead of those that pick the Google option.
You mean like when they removed the headphone jack? What are those pissed off iOS users going to do? Switch to Android and still have to buy new cables?

Edit: The exclamation point was a typo. I didn’t mean to have the tone that might imply.
The "five computers" taken out of context might seem ridiculous but it is hard to believe that wouldnt have been obvious back then and so must have been understood differently, e.g. five mainframes to connect to per terminal and/or diversion to discourage competition. And it's not qualified over time, so it might have meant the very near future.

... or five architectures, five development boxes and the rest restricted implementations, ie. five different co-processors e.g. for time table scheduling which were selling by the time already.
Likely wanted to confirm and peer review the results before publishing any details
Latency to Europe is a non-starter for US companies.
For the love of god, learn how database indices work -- basically everything at https://use-the-index-luke.com/
Apple’s market is people who want to pay more money for products that they at least consider to be superior. Complaining about the price of Apple products seems silly to me, it’s clear Apple doesn’t place much importance on affordability, but there are plenty of other companies that do.
Funfunfunction with Mattias P. Johansson is awesome. https://www.youtube.com/channel/UCO1cgjhGzsSYb1rsB4bFe4Q

Mostly short videos but with good relaxed content.
Such an underrated channel, also check out his podcast with 3blue1brown and the other Ben, https://www.youtube.com/channel/UCvEgr48zmIIYKzRzcl3nWbQ/vid... https://www.benbenandblue.com/
There's an actual existing place where most people ride bikes and you can see tons of really lovely videos of it here:

https://bicycledutch.wordpress.com/
I think it is useful, and that’s a perfect way to describe mainstream economics. What’s frustrating (but predictable) is that there exists an entirely separate branch of economics which makes much more powerful observations about the fundamental nature of capitalist economics, including politics, power, and sociology. But Marxist economics are simply excluded from the Western economic tradition because it makes value judgements which directly and dangerously controversy the interests of the ruling capitalist class. In a healthier world, elements of mainstream economics would be combined with the fundamental Marxist critique of capitalism to produce new systems that are more efficient and less exploitative.
I would give up "free lunch" to have the sponsorship funds going to improving the community interaction. Lunch is ephemeral yet peer mentorship is priceless.
AMD will surpass Intel on CPU performance next year, says leading tech analysts
I would add learn how to do Test-driven Development
Klondike Gold Rush
Don't you think your perception of the painting was perhaps colored by the fact that you knew it was an original Van Gogh?

I have seen some Van Gogh paintings in person and I definitely wouldn't have known they were originals unless someone told me.

It kind of reminds me of people who claim you will never really have truly good sushi unless you get it from an old master in Tokyo. Or how people tend to like wine better if they are told it was very expensive.
Learn about the concepts of Continuous Integration and Continuous Deployment.

Learn about implementing code coverage into your projects so you can track the percentage of code paths which are actually being covered by the tests.

Once you have the mindset of actually testing your software and tracking the code coverage your entire approach to development will change and improve.
Really? Considering AI has (or will soon have) the best "brain" when it comes to adapting its default heuristics based on new information, plants don't seem to fit the right explanatory model.

I would like to know in what way you think they are a better model than animals.
It's nearly as fast to just use a higher wattage charger like they ship with iPads or any number of third parties. I haven't used an iPhone charger in years.
> For instance all primes > 3 are in the form 6n + 1 or 6n + 5.

Really? This should have implications for the 3n+1 problem -- the Collatz Conjecture.
Stephen Boyd is amazing https://www.youtube.com/watch?v=McLq1hEq3UY&list=PL3D9A62846...
Bonus multiplier is the same up to l5, it starts growing rather quickly after that, but yeah target rsu grants change significantly from level to level (iirc they approximately double from 3 to 4 and also from 4 to 5).
Watched this on Netflix the other week. Amazing film, worth reading into the production of it to fully appreciate it.
I do the same thing to auto open tmux and block any new windows from being created. If there is one, it instead opens a new tab when I run my hotkey (ctrl+alt+t). I have shift+arrows to switch between panes, and ctrl+a C to create them.
How is this related to what I said? Fruits and vegetables are not mutually exclusive.

Fruit is a botanical classification (at least the way you're using it) whereas vegetable is a culinary one.