skysight-inc/HackerNews huggingface dataset:
Your linked article reads

"India joined the war on 3 December 1971, after Pakistan launched preemptive air strikes on North India."

which doesn't sound out of the blue to me.
I'm not sure if this is ironic but to me it seems you are just describing how agile is supposed to work. In my team our features are fibonacci pointed but I've seen only two 5s in the history of the project. By far the vast majority are 1 and 2 with the occasional 3.

This correlates with your S, M, L thoughts. The Product Manager can then prioritise based on these (i.e. these three single point stories deliver more value than that three pointer) and points are internally calibrated over time.

I have to say though, that my team doesn't really have "deadline" releases and the PM releases any time we deliver something of value to our users, so it helps relieve some of the burdens about estimating i.e. When I point, I don't really care if the points don't end up reflecting time.
React on Rails Tutorial
You seem to be confusing "hacker" with "10x developer".
Looks good.

I don't like all the 'end' statements though.
Nanoscale things are considered dangerous because they happily pass straight through cells. Not something you want to find out is a problem.

/notascientist
> I don't see how it would make any sense

> However this is Bahn, so it may well be nonsense!

Exactly. That's always the problem with using common sense to figure these things out.
There is also genetic factor. Infant depression can happen in a perfectly fine family. Of course if parents don't know how to deal with this problem it will get worse. Education helps.
Try turning off javascript in your main mobile browser (e.g. safari) and turning it on in your secondary one (e.g. chrome).
On the flip side of this I noticed (from attending school in both countries) that in math radian was used more often than in Germany (which is a good thing imo).
Excellent article, I really love algorithm and datastructure.
if anyone else is interested like me, I recommend this book
https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press...
Smartphone com processador rápido e muito espaço na memória
In our company we still us FORTH because the timing of each command is well known.
If I close my eyes and imagine a world where Mechanical Turk doesn't exist, it's not clear to me how the people in the article are better off.
Inklewriter: Write interactive stories
> for the first 1 or 2 years when it was popular

Context: It was immensely popular when I just entered university, which was in 2006.
Nevermind you have elaborated your point in the new comments.
BEM, SASS and Bootstrap: how to mix everything up in a smart way?
There's still a bit of an ideological divide between the Bazel "all your build dependencies are checked-in" and the autotools "you must provide these build dependencies" model. I'm not sure we'd ever drop support for building on systems that aren't Tier-1 to us, but I could see us getting closer to the Bazel model for the platforms we actually ship on.
* Big-O. It's basically enough to know when an algo is going to perform horribly - e.g. O(n^3) - and even then you might choose it because it's simple or your n is currently small. Anyway, senior dev or architect can make this call way better than any grad could, CS or not.

* Data structures. Many high-level languages now have better basic data-structures than many devs could write, even if they know the theory.

I could continue, but most people do fine without these CS 101 basics. Besides, good/interested people will ask questions about the code base and will read up on these concepts when mentioned. Doesn't take a genius.

> but team work is a soft skill that isn't hard to teach or learn at all

Let me get this straight. You're saying that behaviours you might have established in your teens, and so held unconsciously for almost 10 years by the end of your degree, those are easier to change than something you just learned? Something that people can teach themselves as a hobby, and often do?

But, if soft skills are really that easy to teach, I have several, lucrative opportunities for you. Meanwhile, CS courses online are a dollar a dozen or free. Honestly, if you could write up some stuff about this, I'm sure several people on HN would appreciate truly actionable advice on how not to accidentally be an asshole. Even better, if you can somehow make great devs into great managers, that's also worth gold.

I will admit that good teachers really help with both maths and CS, and good teachers are rare. Luckily, I had a good mentor by accident when I was 14. This year, our team has been to twelve local schools to help teachers make it more fun. And yeah, some kids struggle, just like any subject, but most actually have no issue at all picking this stuff up. Not worried in the slightest about the next generation's programming skills.
Sure, my question was how people measure.
The niceness of the Hurd design, conceptually, is that the microkernel orchestrates system integrity, while even an unprivileged user has a lot of freedom as to what to run on top of that. They can launch drivers, file systems, run sandboxed kernels, and so forth.
The title is borderline clickbait considering the search for life on Mars.. It's really the "First [Computer] Bug on Mars".
India was part of the 'non-aligned' block and at various times has been keen on building ties with the Russians, buying lots of arms from them. In contrast, Pakistani leaders have been firmly in the US camp. Hence, in '71 it was a no-brainer for Nixon which side the US would support. It is bizarre the Nixon continued supporting Pakistan during the Bangladesh Genocide, but that's Nixon for you.

Also, India did invade and annex Goa in '62.
Crystal has an excellent concurrency story built into the stdlib which is on by default. All io is evented by default, with events being fed into the fiber scheduler. The nice thing is that the concurrency and evented io is built just using the stdlib in crystal itself, so it's readable and shows that crystal is quite powerful.

You can read more here: https://crystal-lang.org/docs/guides/concurrency.html
Job Board Reviews – WorkinTech.io
As adventured points out with figures, this couldn't be further from the truth. If anything, their problem was that they were too profitable for their own good, leading to arrogance and complacency, which allowed Google to ambush them.
I’m learning to code at 56. Here’s an epic beat-down of my critical inner self
You are right but I also can understand his 'influential developer' negativity effect. In my place there's this one influential developer (the Team Lead) that can veto every decisions even though the others juniors/seniors under him already have consensus. He doesn't want the existing process to be altered. Now he's alone as everyone is leaving.
Is it necessary to mark the sleep function as async?

I had the impression every function that returns a promise could be "await"ed.
I sort of agree, i just think JS and content from other domains should have required user prompts.
Well, I've met people that have created decades worth of work through technical debt.

When you reach that point it is easier to just start over.
This summary doesn't give numbers, but the journal article being discussed does. About 3e3 to 1e4 S/m for different preparations, compared with zero for untreated silk. Performed as a two-probe DC measurement, so once you factor in contact resistance it might be even better. The details are scarce, so you'd probably want to see it repeated more carefully before concluding anything.
You're probably right. I was mostly referring to the integration with the Teleprecence technology that you get if you have their super expensive video conference setup.
Owning a phone doesn't trump all the thief's rights - if the thief were underage, all the usual laws would still apply.
They bought it for the high-end enterprise use, which is the part that made money. They screwed up the open-source/consumer-facing parts, but those never made any money for Sun in the first place.
There are plenty of companies trying to grow slowly, via organic growth. Or even not grow at all (think about a restaurant - usually no growth is intended). There are even plenty of tech companies in that bucket.

However, VCs generally don't invest in these companies, for a variety of reasons. The bottom-line is that it doesn't make sense financially for the VC model, and it's not what the people who give the VCs money want.

VCs will often get money from pension funds, etc. These are companies managing billions of dollars, of which they allocate let's say 1% to VCs, with the idea of making a huge interest on their investments. E.g. typical real-estate or stock investments will give you a %5-%20 interest, and VCs are supposed to give you much higher numbers.

Again, this doesn't mean that there aren't plenty of tech companies out there who aren't looking for VC money or to grow rapidly, although there are structural reasons why lots of tech companies should look for that kind of growth (mostly, tech companies have way more ability to scale than e.g. restaurants). But most of these "smaller" companies are simply less visible - for obvious reasons, bigger companies are more visible, therefore more talked about.

BTW, let me just correct one misstatement - VCs are aiming for huge exits, but they are investing for often long time horizons - I think the typical time to an "exit" is 11 years these days, so it's not like they're trying to do a quick exit - quite the opposite, if a company exits after 3 years, it's almost certain they haven't become a unicorn.

Edit: Still one of the best pieces of writing on the idea of "2 kinds of companies", from Joel Spolsky: https://www.joelonsoftware.com/2000/05/12/strategy-letter-i-...
> Implementing the code is the easy bit :)

For web forms that replace an Excel spreadsheet, the kind that usually gets passed around over email or in a Dropbox, yes, the business requirements are usually the ones that are problematic, as you are expected to grok a lot of domain specific details in only a couple of days.

But then again IMO, your experience is biased by the problems you've been working on.

> I've never had to implement a binary tree, if I did, I would be reinventing the wheel.

If you actually had problems involving trees, you'd know that besides the usual data-structures we all know and love, problems involving trees and graphs rarely have prepackaged solutions and the available solutions are leaky abstractions for which you have to know how they work in order to fine tune them or to make a choice between the available solutions. Consider that problems involving graphs many times involve NP solutions that are unacceptable, but that admit solutions producing approximate results, which may or may not be acceptable for your problem.

And sure, maybe the problems that you're solving don't involve trees or graphs. That's fine, I think it's been 2 years since I saw a graph problem myself, but then again, medics learn a lot more than they need to treat the common cold, in order for them to be prepared. I wouldn't want to be treated by a doctor that doesn't have the proper education, since my life is on the line.
And yet we are the industry that accepts people without a college degree, but given that we also have a lot of responsibility on our shoulders, how accepting can we get? Consider that we build software that controls buildings, that drive cars, that process the confidential data of people.

And we as software developers, when we meet, what are we going to talk about anyway? Sure, you might have some personal projects we can talk about, but lets circle back to beginners. What are you going to talk about with somebody fresh out of college or high-school? And even with seniors, not everybody has an interesting project to talk about, so how are you going to assess their worth? Sure, you can always do a trial, but the reality is that firing people is hard and expensive, that's just the way things are and most companies prefer false negatives.
I don't think this is accurate. Almost all VC funding wants your company to be a unicorn, and the typical time horizon until a successful IPO, say, is 11 years.

Put another way, if you're exiting quickish-ly, you're almost certainly not the unicorn that the VC is aiming for.
Yes it's usually a very interesting mixture of human factors and technical problems. Often in combination, e.g. some technical device not taking human factors into account and leading to usability issues. Quite often a disconnect between software developers and domain knowledge is the cause of mild to very serious issues.

One anecdote of a serious aircraft problem due to a programming shortcut I remember from a conference roughly and very simplified translates to this pseudo code for something related to landing/takeoff:

if wheels_rolling()==false: in_air=true

The problem was of course...plane with wheels on the ground but not rolling due to ice (more like sliding and there was some sensor mishap that also). And well relying on the rotation of the wheels as a height indicator and many other things...
> (I now how a pretty good list of differences between oracle and postgres!)

Publishing that on a blog somewhere would make things easier for a lot of people. Have you considered it?
I assumed that if life had been found on Mars, I wouldn't be hearing about it from an un-famous blog on Hacker News. It's just a pun, and that doesn't make it clickbait, just good headline-writing.
Your second option of trying something for a while and then saying if it will take more than 3 weeks to finish is still estimating. I don't disagree that it'll result in a far more reliable estimate as you've had time to really feel out the problem and get an idea of what's really involved, but at the end of it you're still giving an estimate of less than three weeks.

I think many people's aversion to estimates comes from a culture like the one you're describing in your first option, one where developers are asked for estimates but they're taken as hard commitments. The solution to that sort of culture is exactly the opposite of the one being proposed in this manifesto - instead of siloing ourselves away further and avoiding contact, we should communicate more. (Good) managers don't get angry at a 2 week task taking 6 weeks, they get angry at finding out that the 2 week task will take 6 weeks only after we hit the point at which they were expecting everything to be done. With a little intuition we can tell that a task is going to miss its deadline long before that deadline hits - presumably we've broken things down into smaller sub-tasks, if we haven't completed 25% of those when you're about 25% of the way in, we're going to miss our deadline. The typical developer has a tendency to convince themselves they'll catch up later on, I certainly do, but in all likelihood we won't. That 25% point is the time to sit down with the manager and talk things over. Bring options, make it clear that if the deadline matters that much some features might have to be dropped, or released later. Or maybe the deadline doesn't matter, but they'll need to rearrange things so that another person is working on a feature which has a deadline 6 weeks out.

I get how appealing the proposal to just do away with deadlines, meetings, and regular updates can be, but that's only practical in an organisation entirely staffed by developers without any outside influences. Those influences will include all sorts of things, from investors to the season (woe betide the retailer who didn't bother estimating how long functionality to handle Christmas orders was going to take and released it on the 26th of December because that's when it was done). In the real world you're not building features in isolation so we need a way to communicate to others what they should expect, and when they should expect it.
...which doesn't mean it has to be part of their contemporary deletion rules.
your best bet is https://developer.mozilla.org/en-US/docs/Web/API/Performance

combined with either IP2location or Geolocation apis.
https://www.indeed.com/jobtrends/q-Solaris.html
In other words it would take 2 cycles to read from both A and B operands.

Or you could read one register on the rising and the other on the falling edge of the clock, if timing permits. A lot of real microprocessors were designed with this techinque.
I'm totally on board with time estimates, totally not on board with several potential 'weaponizations' of those estimates.

There's a fine line between a manager being understandably frustrated with poor estimates, and a manager being less understandably frustrated they can't pressure you into crunch - but I do draw that line. I find the former completely understandable, the latter completely unreasonable.

There's a similarly fine line between a manager trying to gauge the scope of tasks and help identify unnecessary dead weight that can be cut or delayed, and a manager trying to simply negotiate the estimate down, without cutting anything. The former is reasonable and at times valuable, the latter is either trying to bend the truth to keep their stakeholders 'happy' or pressure games to entice crunch - completely unreasonable - or outright denial (frankly, a failure to do their job right.)

Unfortunately, I think the unreasonable folk ruin it for the reasonable folk, to some degree. Even with managers in the former camp, and with devs I'm convinced recognize their managers as being in the former camp, simply trying to even go through the motions of estimating seem to add a lot of stress and heartache.

Good signs: They point out stuff that's vague, try and actually try to eliminate some of the blind guesswork, helping to produce reasonable estimates, and try to compensate for your bad estimates while guiding you towards making better ones.

Bad signs: They complain about work taking too long, or adjust your estimates down behind your back.
I think basing this around countries is too fuzzy.

If you look at Germany it's pretty evident:

At a glance it seems that East Germans are more xenophobic/racist than West Germans. But that's only half the story. Once you look at population densities you quickly see that xenophobia is most widespread in the areas with the least dense population. But even then you can see a clear trend that absence of "foreigners" correlates with a higher level of xenophobia.

There may be a limit to this effect (e.g. I'm not sure what the numbers look like for areas with a "foreign" majority) but anecdotally people seem to be less xenophobic the more they are exposed to "foreigners" (usually with the cliché stopgap "obviously you're okay, but those other foreigners...").

Anecdotally in Germany there's also a phenomenon where Eastern European immigrants are more xenophobic/racist towards other immigrants than native Germans are. This may have to do with "Russland-Deutsche" historically seeing themselves as ethnic Germans rather than immigrants. As a counterpoint, the Iranian spree killer in Munich this year also was a xenophobe who considered himself German.
Top Features a Good GPS Navigation App Should Have
https://www.indeed.com/jobtrends/q-oracle.html
How is this effectively not a bazaar-style Free Software development methodology?

Seems to me that project (and product) structure have a tremendous effect on the viability of this mode of management. A very high degree of modularity, in particular, possibly with different teams independently implementing specific modules, and choosing the first/best depending on particular circumstances.
Is this true for neurons that make up the nervous system as well? Or just neurons in the brain?
I halfway agree with you, but with the caveat that parsing has been done to death, while dealing with the lower level aspects often gets glossed over.
I disagree. You and I know that personal experience isn't good to generalize from. But in my personal experience, the vast majority of the time that people use the phrase, they do so to communicate that they know things to be a certain way, at least strongly enough to base other conclusions on.
You can trade some safety for syntactic convenience by using pointers to the subarrays instead of a pointer to the multidimensional array, eg

void do_with_array(size_t m, size_t n, int a[static m][n]) { ... }

int (*a)[n] = calloc(m, sizeof *a);
do_with_array(m, n, a);
and https by default should have never allowed off-domain or insecure/mixed content.
Tell HN: Adblocks are killing niche blogs
Just checked analytics from my blogs: during this quarter vs the one before, despite having 40% more pageviews, adsense visualizations decreased 45%.

If I didn't get some funds from a banner that escapes ad-blocks my blogs would be abandonware already.
Sure, but that money is rarely enough.

Investors take on high risk when investing in a startup, but that risk is localized. They typically have a diversified portfolio so that the successes outweigh the failures. As a result their local risk tolerance can be high.

Founders, on the other hand, are typically investing their time, energy, etc., mostly in their company. Their risk isn't localized, so they can't have as high of risk tolerance. As such, they need a higher EV in order to justify an equivalent probability of failure.

Giving up power lowers your EV. In the event of an exit, people with power get paid.

As such, founders should be looking for investors who are collaborators. The investor you're describing should be avoided at all costs, because they're just looking for patsies to take on unreasonable risk for their own gain.

The collaborative model isn't bad for investors--it doesn't have as high of reward if it succeeds, but there's also lower risk because being involved in a company gives you a better idea of when to invest more or pull out.

But this model isn't popular with investors because it takes more work.
That doesn't make sense as the thief would be unaware of the spyware - no mens rea
Crystal uses libgc, from the readme: [0]

"Since the collector does not require pointers to be tagged, it does not attempt to ensure that all inaccessible storage is reclaimed. However, in our experience, it is typically more successful at reclaiming unused memory than most C programs using explicit deallocation. Unlike manually introduced leaks, the amount of unreclaimed memory typically stays bounded."

Having used the language for a year, I've never really had an issue with the gc other than with really large (think 100mb+),infrequrnt, single allocations which get "stuck" and don't get returned to the OS after. This is a by product of the gc being unable to move objects to compact the heap. This situation can usually be rectified by loading a large file as a stream instead of loading it all into memory. Crystal has excellent tools for working with streams (see IO module) however, so it's not that big of a deal.
> and turning them into a rich AST structure.

This is not a necessary step, and is specifically not done in a lot of simpler compilers. E.g. most "Wirth-type" compilers never build an AST.

There are lots of good reasons to build ASTs if you want to do complex analysis and optimisation, and it simplifies the presentation of some things, but calling the code generator module straight from the parser in many ways makes the direction connection clearer.
We have almost the exact same legislation here in the UK, by the name of IR35.

In essence it means that you can't take paid leave or sick days, otherwise it counts as "disguised employment". Another interesting requirement is that you must have at lest one other person in your company who can reasonably stand in for you and perform your work, if needs be.

If caught on the wrong side of the law then you must return the tax you've saved along with paying a fine. Not nice.
Fiat Delivers Alphabet’s Waymo 100 Self-Driving Hybrid Minivans
Figuring out what the real problem is.

To put it another way, technology-specific skills come and go, fundamental skills will serve you next year and every year.