skysight-inc/HackerNews huggingface dataset:
In university, I was studying biology. In my free time however, one day I had the strange desire to build a simple app that would simulate the solar system.

After spending months learning how to build software, I realized just how deeply satisfying software development was to me. So I started doing small, low paid freelance work building apps to build up a portfolio. Every time a project ended, I’d move on to bigger projects with higher pay. I’ve never looked back. I dropped out of school and my passion & skill have grown ever since. Eventually I had a good resume and the recruiters came to me.

Now I am working at an amazing company in the Bay Area. I love it. It’s a job where I actually look forward to going to work every day, which is fortunate and lucky.

Given that the software world is always changing, I am always learning something new. Lately I’ve been learning React-Native.
I have an issue with the idea of "teaching new practitioners X while telling them that X is not to be used seriously", for so many reasons.

1) It is doing a disservice to the students to tell them that you won't use much of what you are made to learn.

2) A nontrivial amount of people will attempt to use it seriously anyway, sometimes with disastrous results.

3) It usually indicates teacher laziness and/or disinteredness in finding alternative ways to teach.

4) Surprisingly often, when you are not supposed to use X, it is actually useless to learn X. (That is NOT the case in this situation -- there are reasons to learn C -- but the students can't know that unless told so.)

5) There are almost always better alternatives. I have never been unable to find a Y which fulfills the same criteria as X, yet in addition is also usable for serious things. It's just that sometimes you have to look a little harder for it.

In other words, I think it is a teacher's categorical responsibility to find a means to teach what they want in a way that is practically applicable by the students right away. And failing to do so should be taken as a strong hint that what they want to teach may not be the thing they should teach.

I wouldn't say this if I didn't firmly believe that you can teach most things in a way that grants the student immediate practical applications. And I don't say this in a political way -- of course everyone should have the liberty to teach whatever useless thing they want in whatever shitty manner they cn come up with. I'm viewing it more as requirements on any teacher who wants to call themselves good, or tell themselves they are doing their students a service and improving mankind.
The Future of Trucking: UberATG
I'm sure the Taco Bell CEO gets the nuance, but if your expertise is slogging low cost / low quality ingredients...it's not obvious you're the person to solve an issue with a company struggling with high-end intentions, but low-quality results. Ever been to a Chipotle? The warning about pork carnitas is pretty off-putting. They basically say you're rolling the dice based on past performance.
I could run a money losing company so long as investors keep dumping money on my doorstep.
Books and courses are nice and helpful, but the only way to really get in and do things right even as a junior sysadmin is to get a job as a SysAdmin/SRE/DevOps/Network Engineer so you can work with others with real world experience. Without it there is absolutely no way to get to the level of expertise needed to get to the top of the game. As with the really important stuff, there is always a team making it happen.

By getting a job you will experience the good old production environment which is something books and courses cannot teach you, especially when you have to deal with different types of environments/people that only SysAdmins, Network Engineers, DevOps have the responsibility to manage and secure and keep up (24/7/365). As most mission critical environments are extremely fast paced and very sensitive to accuracy and due diligence you will learn some serious skill sets that you will get from working in those types of environments.

If you want to learn quick and master a large spectrum not touched in the books working on a mission critical team will get you up to speed especially if it is for the government (NASA, Military, NSA, CIA, NGA, SCC, NRO, FEMA, Secret Service, FBI) or a not so critical but high profile and important commercial company (Google, Apple, Facebook, Uber, Twitch, Amazon, any top defense contractor, etc.)
Boston Dynamics releases video showing humans can't hide in a robot apocalypse
Or does it just assume that your savings eventually get spent in the city in question?

You would be able to save a nominally higher amount in a high cost-of-living area, but if those funds ultimately would be spent in that place, then is it an important distinction?
I recently interviewed for my next role. Not a single company was doing the in-person timed code interviews. Where there were code tests, they were all take home and had no time limit beyond "when do you think you can get this back to us by?". If you need a time limit, ask the candidate for their estimate. It has the added benefit of telling you whether the candidate can assess their own schedule in relation to your code test, while not screwing the candidate over.
> How is that the "bad idea" passed over so many people at a company that praises itself of hiring some of the most smartest people in the field?

The fact that Google produced AMP played a nontrivial part in me rejecting their job offer - I didn't want my work to be judged by the engineering standards of an organization that continues to staff and promote AMP.
Unless you're shooting a DSLR with ~140 megapixels of resolution... it's not the same thing at all.
I live here too.

It's not just how great our lifestyles are, but we also help pay for a strong social safety net and our good universities cost like 4k a year, and top-of-the-line events like Igloofest and Jazz Fest are cheap or open-access, so you don't have to exclusively hang out with people from your same income class.

It feels good knowing your taxes go towards cheap schooling and universal health coverage and public transit, rather than war.

When I went to SF I was told if I moved there "I'd live like royalty". I don't want to live like royalty though, I want to live in a sustainable well-functioning city.

ps. full stack 3 yr exp -> income ~100k CAD/yr -> rent 400 CAD/mo (downtown 17th floor studio split with partner)
I read and understood the context. My claim is that calling K&R, last updated in 1988, "the canonical C text" is misleading, if not mistaken. Canonical C has moved on from K&R in the form of the C99 and C11 standards.
Currently in python you know that you're holding either raw bytes, or something that can be successfully serialised to utf8. With your proposed solution you'll find out which one it is when you try to encode it.

It's the difference between easier to debug: "you asked me to read a value here, but your assumptions about the encoding don't match reality" exception and the hard to debug: "I did a lot of processing; you thought this thing is a valid text, but it isn't; have fun tracking down how it got here in the first place" exception.
I had an older coworker book 2 separate taxis from 2 separate taxi services because he really needed to be somewhere, and neither showed up... After calling both services one said they never had a record of his reservation and the other said that there just weren't any available and one would be there within an hour...

I helped him sign up for Uber, and I don't think he's ever taken a taxi again.

Uber may be a shitty company in a lot of ways, but they do what they say they do, and they do it well. Every bad experience I've had has swiftly and appropriately dealt with.
The Intelligence Collection Implications of the CLOUD Act
The article links to this explanation of RPN and its benefits.
https://www.swissmicros.com/what_is_rpn.php

After reading, I discovered the macOS calculator supports RPN (Cmd+R) and it is about as cool as described. Looks like the iPhone calculator does not but I'm sure there are great apps.
For anyone interested in this topic, there's an education documentary covering three teachers who resort to leveraging brain science so as to break through the boredom and disinterest of their students: a great exploration of the personal journeys that led three teachers to use a neuroscience-based teaching model, and showing that model in action within their locales and student age brackets (Roland Park Elementary/Middle School in Baltimore, Maryland; a high school in upstate New York, and a community college in Western Pennsylvania). What really struck me in this documentary was the intimacy with which some students and teachers respond to the model- and it's a very human showing of the personal factors that drive education - both from a teacher and a student standpoint. Told more from the human-experience standpoint, it also covers practical aspects of using brain-based teaching.. worth a look for professional development credits. http://www.greymattersdocumentary.com/
Which "solution" was that? Your comment suggesting that len() should be the length in bytes of a UTF-8 representation of the string?

That would be a terrible thing for people who work with strings as strings, and would essentially tell such people -- who make up a lot of Python's user base! -- "go use something else, this language is only for sysadmins to write Unix utilities now".
Right, but I think it's fatalistic to just write off any attempt to come up with better solutions: nothing will change if we don't at least start thinking about, proposing and testing other ideas.

I think it's a reasonable assumption that most people here are devs or interested in software/programming/etc. Marketers aren't going to be the ones who are actually interested in making better products, they're practically premature-optimisation-in-user-hostile-directions personified, so someone else has to at least propose these ideas.
An introduction to typeclasses
IMO you’ve been unfairly downvoted, as you’re correct that the emoji illustrations indeed are owned by Apple.

The fault lies with the Unicode consortium for opening this can of worms. The standard should have been reserved for outline letter forms only. Adding a set of full-color illustrations that expands every year was madness.

It’s especially bad for embedded devices that need to render text. It used to be that you could ship vector fonts for the major global scripts in less than 500k, and you could feel fairly confident that new glyphs aren’t randomly added.

Today you need to ship an emoji font and make sure that your font engine can render color graphics. Google offers the only semi-decent free color emoji font, and it weighs about 7 MB. That’s a vexing increase in system font footprint just so that there’s a poop illustration on disk when needed. You also need to update the set every year when the standard adds “depressed poop” or “sulking lizardman” or whatever.

From a UX point of view, it sucks because the free emoji font doesn’t look like the Apple one (because that look is copyrighted!), and inevitably someone will complain about it.

At least HN has the good sense to filter the emoji junk from
comments.
It's inner-platform effects all the way down!
I was typing a long, long reply too but I just realized I wouldn't even use my own suggestions because I don't trust Google anymore, specially to do the right thing in the long run.
I'm waiting for AMP chat; I hear it's fast. /s
Having been watching this, it's still rough around the edges, but I have no doubt that Phaser 3 will get to feature complete and beyond at a nice pace.

What's holding me back from starting to really experiment with it is lack of TypeScript definitions. Phaser 2 was what got me started using TypeScript, and as a C# guy I'm still holding out hope that I can get my work using TypeScript for some project or other.

If you've been wanting to play with TypeScript, I highly recommend taking a look at creating a simple game with TypeScript.

There's a lot of templates out there, and I've done some popular tutorials in TypeScript instead of the JavaScript they were written in.

https://github.com/JamesSkemp/PhaserTutorials
Kubernetes RBAC Compared to Docker Swarm RBAC
Wouldn't that be a bitter end for google?
We have the exact opposite opinion then. I moved to DuckDuckGo on iOS because I thought the AMP formatted Google search results were so user-hostile.

Maybe they’ve fixed the bizarre scrolling and overly sensitive links by now, but I see no reason to find out, because I don’t feel like I’m missing anything.
And why it's so annoying that it nonetheless sets it to ALLOW JS by default.
I still can point to the exact point in my college career that took me to a whole new level of understanding how to program in Java or Python to understanding how things like Garbage Collection, Threads, and other abstractions actually worked. It was an elective I took on Graphics Programming and it was all in C and OpenGL.

Being without GC, I learned the trade offs. Obviously, being able to explicitly allocate and free memory was a big deal. But at the same time, I learned to appreciate the complexity and pitfalls of GC.

Threads are great in Java (as are their parallels in other languages): this is the work to do, put the results here, and everything is cleaned up. Meanwhile, just trying to get the results back from a forked process was CRAZY. Implementing and managing my own shared memory to pass messages back and forth...wtfbbq.

"Think like a computer," not really. More like, "understand what all goes into a thread, an async call, or a garbage collector. Gain more understanding into the corner cases and exactly how much this thing is doing for you. So maybe setting something to null or pre-allocating objects to reduce heap work isn't that big a deal."

C taught me to be patient with higher level languages, to better understand what they were doing for me, be able to reason about how they may be doing these things wrong, and to think critically about how to coax these features into behaving the way I want them to.

Really any lower level language can teach these things. The point here is that C is a nearly universal language that can teach you to reason about these things.
With the expansion of AMP, it's crazy to think of Google more likely to undermine the health of the internet than the ISPs in a post net neutrality world.
In my opinion the question is not about the service but whether it is a viable and sustainable business. Sure Uber is a better experience than taxis which are/were a nightmare. But most of the growth seems to be coming from underpriced rides. When the price normalisation happens Uber might not be a good service anymore.

Secondly, many of us decry regulations. But it seems to me that Uber's dream of people not owning cars and relying on Uber is not going to happen without some regulations. Case in point:

https://www.popsci.com/self-driving-car-fleets

And today, a coalition of companies—including Lyft, Uber, and Zipcar—officially announced that they were signing on to a 10-point set of “shared mobility principles for livable cities”—in other words, industry goals for making city transit infrastructure as pleasant, equitable, and clean as possible. Some of the 10 statements, like “we support people over vehicles,” are vague but positive. But the final one speaks loudly about what city roads of the future could look like: “that autonomous vehicles (AVs) in dense urban areas should be operated only in shared fleets.”
Gulag Inc is a commie company
FBI Director says the whole of Chinese society is a threat to the US
IME, Lyft drivers tend to also drive for Uber but not the other way around.
Incompetent PMs can be an issue too, between inaccurate/incomplete feature planning and shoving their responsibilities onto unwitting developers. I'd argue that a great PM is worth as much as the much-vaunted 10x developers, if not worth much more.
I LOVE Phaser though I have moved on to Godot wanting to see if it is a better fit for me. Congrats to the team for making a great toolkit.
Strictly, freedom of speech is a political term, not a market one.
We Built a 250cc Power Wheels Barbie Jeep
Indeed. Being an MIT dad, I know a few course 6 undergrads. Bright kids get social axiety, too. And can brain-freeze at inappropriate times. And may be better in a quiet, thoughtful problem-solving mode than the kind of TV quiz show that modern interviewing has become.

I just don't get the modern interview process. Why are we looking for lint in human form? I'd rather see someone sketch some psuedo-code for an interesting problem with several acceptable solutions.

I think I learn more by asking a fuzzy, underspecified problem question and seeing what clarifying questions I get back. I want to know if the person can wring a spec out of a customer - coding it up with all the semicolons in the right place is the easy part.
Things that I would qualify as welfare and benefits for the poor would be things like TANF, SNAP, Section 8, CHIP, Medicaid, etc.

These are things where eligibility is determined primarily based on some criteria that try to determine need rather than based on having paid into the system to fund it.

Social Security is essentially a government run pension. Unemployment and disability benefits are effectively government run insurance programs. The size of payment you receive and your eligibility is based on how much you paid into the system. Medicare is kind of halfway between health insurance and a pension because the premiums are subsidized if you paid into the system earlier in life. Low income people do generally get slightly better payouts proportionally to what they pay in so you could argue that some portion of these programs is a welfare benefit for the poor, but low income people also tend to die earlier, so some have also argued that they are a net transfer from low to high income people.
They can count the cost of meals as revenue, even though they're giving it right to the restaurants.
I'd recommend Ada over C for embedded hobby applications; mostly because it will reduce the time you spend debugging by detecting more errors up front and forcing you to be very clear with what you are trying to say. Less frustration and more secure (matters now with internet of things).

But also because it makes it easier to deal with asynchronous actions and has facilities for higher level programming should there be room for it.
...Or any network where it is not known whether it is hostile or not. I.e. any network that isn't known-non-hostile. Which is most networks, possibly up to and including your own home WiFi.

But if you want VPN service, why not simply setup your own server? They're cheap. There are hosting services that accept cryptocurrencies if you're into anonymity, and then you can be certain there are no logs (unless the hosting provider logs you, of course).
Interesting. Do you have candidates review code?
Mostly agree, save one thing: pair programming is deeply divisive, and by itself provides no signal about an engineering culture.
I find that tests pay off pretty quickly in terms of productivity -- somewhere around a week. There are a couple of caveats, though. First, you have to have a team that's already good at TDD (and not just test-after-the-fact). What I mean by TDD is hard to describe succinctly and especially since I said it's not test-after-the-fact, it's easy to think that I mean test first. I don't. To me TDD is a way of structuring the code so that it is easy to insert "probes" into places where you want to see what the values will be. You can think of it a bit like having a whole set of predefined debugger watch points.

With good TDD (or at least my definition of it :-) ), the programmer is constantly thinking about branch complexity and defining "units" that have very low branch complexity. In that way you minimise the number of tests that you have to write (every branch multiplies the number of tests you need by 2). The common idea that a "unit" is a class and "unit tests" are tests that test a class in isolation is pretty poor in practice, IMHO. Rather it's the other way around (hence test driven design, not design driven tests). Classes fall out of the units that you discover. I wish I could explain it better, but after a few years of thinking about it I'm still falling short. Maybe in a few more years :-)

In any case, my experience is that good TDD practitioners can write code faster than non-TDD practitioners. That's because they can use their tests to reason about the system. It's very similar to the way that Haskell programmers can use the type system to reason about their code. There is an upfront cost, but the ability to reduce overall complexity by logically deducing how it goes together more than pays off the up front cost.

But that leads us to our second caveat. If you already have code in place that wasn't TDDed, the return can be much lower. Good test systems will run in seconds because you are relying on the tests to remove a large part of the reasoning that you would otherwise have to do. You need to have it check your assumptions regularly -- normally I like to run the tests every 1-2 minutes. Clearly if it takes even 1 minute to run the tests, then I'm in big trouble. IMHO good TDD practitioners are absolutely anal about their build systems and how efficient they are. If you don't have that all set up, it's going to be a problem. On a new project, it's not a big deal for an experienced team. On legacy projects -- it will almost certainly be a big deal. Whether or not you can jury rig something to get you most of the way there will depend a lot on the situation.

So, if I were doing agency work on a legacy system... Probably I wouldn't be doing TDD either. I might still write some tests in areas where I think there is a payoff, but I would be pretty careful about picking and choosing my targets. On a greenfield project of non-toy size, though, I would definitely be doing TDD (if my teammates were also on board).
Could you clarify what you mean by “white label,” here? Your customers were going to sell the service to their customers?
> Breaking dords into bytes and vice-versa involves long sequences of shifts and logical operations

modern MIPS has "ext" and "ins", which are probably an improvement in that regard.

> plentiful-yet-unhelpfully-named registers

what's wrong with MIPS register names? my only comparison is x86 and that has been awful. I'm constantly looking up which registers are what.
Step 1: Reduce food quality to cut costs

Step 2: Come out with stupid names of rehashed food ideas

Step 3: Spend all new profits from low-quality food ideas on HEAVY MARKETING of newer, lower-quality food ideas

Step 4: If (Chipotle != Taco Bell) Go to 2

Step 5: Exit
Ask HN: Build finaly compiled  2pm now I can start work.Ever had days like this?