skysight-inc/HackerNews huggingface dataset:
People like you should be forbidden from all forms of communication.
Switzerland is surrounded by EU countries that have no appetite for war and are its trade partners and allies. The EU is basically its big, fluffy safety buffer.

I don't know enough about Singapore.
Gimli mentioned to Frodo about just how much his hammer
Does years of service factor in to government pay?
Isn't Minecraft written in Java. Many Fortune XX have their entire product lines written in it. Frankly, I don't understand the hate it gets on HN.
But Rust lacks `guard let x = a else { return }` which is one of the nicest additions of Swift. I know there were attempts to add it to Rust, but somehow the community really doesn't like it because a `let x = match a { Some(a) => a, None => return; }` is too similar. However I feel that guard also expresses the intent.
Plants can't grow LEDs?
I love the talk on "The Birth and Death of JavaScript" by Gary Bernhardt: https://www.destroyallsoftware.com/talks/the-birth-and-death...

Highly encourage everybody to watch it and how people may interact with JavaScript more and more through things like WASM. Very funny talk too :)
Sunlight is about 1000W/m^2. The efficiency of photosynthesis is about 0.2% https://en.wikipedia.org/wiki/Photosynthetic_efficiency

So assuming a 100% efficiency in the conversion of the products of the photosynthesis to light, a 12h+12h light/dark cicle, 100% canopy coverage, ignoring the branches, ignoring that plants need energy for other activities and ignoring that the plant will release 1/2 of the light to the sky instead of to the floor, we get 2W/m^2 for illumination at night.

For a 3mx3m room (10ftx10ft), I'm happy with a 18W LED lamp, and streets are usually darker. (I can't find the official recommendation.)

I'm ignoring a lot of inefficiency sources, so assuming a 100% efficiency after photosynthesis is too optimistic. Organic reactions are usually far from 100% efficiency. I think that a 10% is still optimistic, but it's difficult to give an accurate estimation.

So I think it's not ruled out by the laws of physics, but I don't expect it to be viable as a street illumination method. (On the scale from 1 to Nessie, I'd rate it as Yeti.)
> If you're just writing a small routing server, probably not the right use case for Java.

General purpose languages have "use-cases"?
Am I the only one that feels that Uber has a ton of valuable location data? Aren't rides to a particular location similar to FourSquare checkins? "How many customers are likely to come to your restaurant every Saturday night? How has that changed over time?"
Having moved to a stack with a much more competent standard library, it's much nicer to have that great standard library than to have to wade through a rich set of libraries all the time to achieve the same thing. I'm talking about Go, of course. It's just nice getting right to work coding up an http server without having to think about what "web framework" I should need to select, or which logging library to use.
They can also cut the copper/fiber/coax coming into your house. If the NVR/whatever recording your video isn't in a super obvious place it will take a thief longer to find that then it would be for them to clip your connection to the net.
But maybe a few public court cases (even if everybody was acquitted in the end) would cause some people to remember not to grab the bags in the next accident.

Maybe instead of pointless court cases, lots of publicity about correct behavior for the same effect.
Great points, but it's actually much simpler than that: if you want static types, you have already eliminated the majority of HN darlings (JS, Python, and Ruby). Where do you? Most developers turn to C++, Java, or C# (not Haskell or F#, for example), and of these, Java and C# are both great for productivity and not daunting for someone just starting out, unlike C++.

There was a period after 200x where developers managed to throw out a bunch of babies along with the bathwater when they rejected Java, UML, SQL, and everything else that was used in 199x. After all, these are all literally from the last century, so they must be "uncool", amirite? /s

The preference for dynamic or duck typing in the name of productivity has always rubbed me the wrong way. To keep it brief, my defense / elevator pitch for static typing is: "Slow is smooth. Smooth is fast" :-)
Re "It legitimately took me 5 years to get really good and I still sometimes cut myself" I was a disaster at shaving until 3 blade cartridge razors were introduced. Before then I used an electric shaver and was unsatisfied with the results. I doubt I want to try try a DE blade. Walmart house brand 3 blade cartridges are under $1 per cartridge, and a cartridge lasts me a week.
I use both, I have a Braun 8 that I use for a quick shave followed by clean up in the shower with a Mach 5. It takes forever to get a really close shave with the electric and the multi blade razor is really quick and gives a close shave if I’ve nuked the bulk of it with the electric.
This can't be a surprise to anyone. Given Lyfts performance, after it's IPO, the fact that UBER is not profitable and really doesn't have a near term plan to be. The stock will continue to struggle.

They could follow the Amazon model to profits, get big enough to dominate the niche, but they at least need a profit engine, that would give them cash flow. It would let the company grow without having to continuously have to raise money and keep the stock price stable.

Look for the company to continuously raise money or to reduce service. None is good for the stock's future price.
GitHub, at least from what I've seen publicly in the past, uses all the ones they support except maybe Java/Maven; I've never seen anything about them internally using Python.

So, it's not really all that surprising of an initial set of choices for them to make.
Swipe navigation in mobile Safari is a problem. Lichess.org recently did a very nice redesign that made it more mobile friendly. But the user can’t drag and drop pieces from the leftmost file because it’s interpreted as navigation. Safari doesn’t allow the webpage to listen for this event so there’s no way to call ‘preventDefault’. Basically unfixable if you want to use the whole screen as far as I know.
All of these advantages don't make sense if half your commits are broken versions of the software. Rebasing helps ensure that each commit is valid. That's important for the reasons you mention. Having a log of what you actually did is not important.
You’re typing as if your fever dream of restricted behaviors has already come true. It must be exciting to be so delusional.
Yes. They showed in the demo that there will be a new scope for read/publish packages. So you can create a personal access token for Travis with only that scope.
London to have world-first hydrogen-powered doubledecker buses
Django migrations can be problematic because they're meant to be sequential and have interdependencies. I've had problems merging multiple feature branches because of this, even though there are no code conflicts.

A system like Saltstack or Puppet for databases would not have checked in migrations, these would be generated on the fly at deploy time.

So you could very well have multiple state changes in a single run, by comparing actual DB state and desired DB state, then creating the SQL code as needed for that deployment.

Honestly not having to fiddle with the migrations table on a live server seems pretty nice ;-)

This could very well turn out to be Django's next gen migration tool...
I'm not saying they're equivalent, I'm saying if you're used to reading TypeScript then Swift will be very familiar, syntactically. That matters if you're thinking about splitting your codebase across two languages.
I think you've been somewhat unlucky. I've been releasing some code on Maven Central for a while, and while original setup did take some time and was a bit confusing at times, once all keys were in place deploy works with a couple of short steps. It is true the packages do not appear immediately, but I imagine serving this much content requires heavy caching, so I can understand that, and the wait times aren't that outrageous either.

That said, would be interesting what Github's effort comes to. It's always better to have alternatives.
This is a real eye-opener - tech salaries seem ridiculously high compared to what most people make.
The last couple of bleeding-edge features I looked at were SVG favicons and position: sticky. Firefox is ahead of Chrome for both of these.
"Ball for warmth" doesn't explain the swarming of bees in warm weather (around a queen dividing the hive).

But bees will also use the large cluster heat effect to kill predatory hornets: https://www.livescience.com/19078-bee-ball-cooks-enemies.htm...
> Outside of the Java bubble, the view is quite a bit different.

I know that outside the "Java bubble" less advanced platforms are often good enough (BTW, while Java's GC ergonomics are getting better, I agree there may be more of a paradox of choice issue, but while you may not need to touch any knobs, you're also not getting low-overhead, deep production profiling and many of the other amazingly useful things you get with Java), and even inside the Java bubble we don't think Java is always the best choice for everything, but that doesn't mean that Java isn't leading in technological innovation, which was my main point.
Also, the official site:

https://www.prittlewellprincelyburial.org/

(which I believe only recently launched)
Some nice practical detail: They estimate using the methods of previous research that the new technique brings the price on EC2 of your very own SHA-1 chosen-prefix collision to somewhere between $1.2MM and $7MM.
I've always been curious if a variation on a the cooperative model might work. I'm imagining something like a "stakeholder-owned media cooperative" where producers (journalists, editors, etc) would share some kind of ownership stake with a base of dedicated subscribers.

Paying $20/mo in dues, 300 subscriber-owners could support one journalist at $72,000. The incentive to join as a dues-paying member would be a voting stake in the editorial direction of the outlet. Most subscribers probably wouldn't want regular involvement in those decisions, but you might be able to pull off some kind of liquid democracy arrangement where subscribers could empower certain instantly recallable representatives on the editorial board.

You could play with the variables to balance power/compensation in a way that is appealing to both parties: perhaps producer-owners get veto power, or can limit the set of options for editorial direction, or perhaps votes are weighted toward one party or the other.

The primary goals would be twofold: 1) fund journalistm 2) generate trust by aligning the incentives of readership/editorial. The wider the base of subscribers, the more public buy-in, the more funding to expand the newsroom. You might even produce a positive externality: news that can also be consumed by passive readers, who could apply to become subscriber-owners if they become invested in the editorial direction.

It'd be tough to bootstrap an organization like this without an injection of capital and loss of control. It'd be cool if a kickstarter-like platform existed where a threshold of supporters could sign on before the project kicked into gear.
> .NET has both of them

I'll give you value types, but reified generics in .NET were a mistake. It really makes interop and code sharing among languages hard, in exchange for a rather slight added convenience. This means that if you're a language implementor and you're targeting .NET, you'll get much less from the platform than you would if you target Java, which makes .NET not a very appealing common language runtime. And not only is Java a good platform for Kotlin and Clojure, but thanks to Truffle/Graal it's becoming a very attractive, and highly competitive, platform for Ruby, Python and JavaScript. All of that would have been much more difficult with reified generics.

Also, I don't think value types in Java are being "pushed back." The team is investing a lot of work into them as it's a huge project, but AFAIK no timeline has been announced.

> and also has the same core strengths JVM does

I don't think so. Its compilers are not as good, its GCs are not nearly as good, and its production profiling is certainly not as good (have you seen what JFR can do?); and its tooling and ecosystem are not even in the same ballpark.
Well it's a good thing that this article talks about sharing salary info between colleagues, and makes no arguments for "telling the world" other than in the clickbaity title.

That's why it ends with a question mark, so that it makes the title not-technically-incorrect (author is "just asking a question"), while driving the engagements that have nothing to do with its content.
> One passenger carries a bag so heavy it bends the slide halfway through and violently hits the ground

Not to discount the stupidity involved in holding onto one's bags (which I absolutely agree is absurd, whether it's attributable to simple human nature or not), but that makes it sound like the slide was defective as well. Even a very heavy carry-on is relatively modest compared to the weight of the person carrying it.
https://wiki.openjdk.java.net/display/loom/ which is superior to async/await, if I may say so myself (I'm the project lead)
> There is no law that stops employees from sharing salary information, but myths persist at many workplaces that sharing is forbidden

This is failing to address the scenario where not sharing salary is company policy and/or part of the employment agreement or contract. If my personal experience is any indicator, I would speculate that this is quite common at large companies.

And, I don't know, having other people share their salary information is good for me, but sharing mine can certainly be used against me in a variety of subtle ways. People are consciously and unconsciously judgemental by nature. Sometimes I have a relatively good deal and I know it, so sometimes I don't want to share salary because I know it would only make other people feel bad. Sometimes I don't want to know that someone makes more than me because it would make me feel bad, when ultimately it doesn't matter.

I am genuinely interested in the idea of sharing, but I really want some stronger reasons of why it's to my actual personal benefit today to share that information, assuming my employment agreement allows it. I didn't see any in this article.
Ask HN: What does one look for in a non-technical co-founder?
Hi guys. I'm working on a few systems and it seems like my biggest weaknesses are sales and fundraising, but what else should I look for?
Funnily enough, Go just chose to solve the problem the other way around: While JVM tackled GC with the code equivalent of lightsaber-equipped drones, Go‘s GC is almost embarrassingly simple in comparison (although it‘s pretty decent by now).

The major difference is that the whole Go language and stdlib is simply written around patterns that avoid allocations almost magically. The simplicity of the Reader and Writer concepts is so elegant, yet powerful and doesn‘t allocate anything but a tiny reused buffer on the stack. There‘s lots and lots of other examples, but if you have to collect ten times less garbage, you‘ll be better off, even if your GC is 2x slower.
I've taken plenty of pre-payments. I agree that you shouldn't "need" one, but there's absolutely nothing wrong with requiring one. It sends the same message as a high rate, and gets everyone in the habit of paying for service / collecting payment for service from day one.

Otherwise, agreed on all points
1. It is not enough to win. Someone else must lose.

2. Learn the distinct odor of fear. Pinpoint the source.

3. Ask everyone to pull their own fingers before the meeting begins.

4. If you have a video whiteboard, train the camera on it with a bit of zoom and give your presentation in front of it so your moving form is surrounded by a throbbing infinity of fractal shapes.

5. Place a slow incrementing digital up-counter on the table and say it's a CO2 sensor.
While I still like Python, Python and Ruby haven't been darlings of anything in probably the last 10 years. Go, Rust, Swift, and Kotlin are newer statically typed languages that lots of devs on here like though.
It can definitely be annoying when you have many codes already stored in it, but the long term solution is: don't use Google Authenticator. There are better alternatives such as andOTP / FreeOTP, Authy, or password managers such as 1Password or Bitwarden (paid version) can handle TOTP codes too.
i believe a lot of Android packages are moving to JFrog
How is prefetching taking the imperative away about what you see? You can click or not click. As for "tracking", the website could already ping as many servers as it wanted in the background, it's not like it can do anything new here.

I honestly don't see how the server gets any more "power" than it already did.
they do support gradle https://quarkus.io/guides/gradle-tooling
If the painter bought a bunch of "vomit green" paint and it turns out no one wants it, offering $100 to get your house painted is a perfectly fair deal since the other option for the painter is to not sell it at all, which costs the full $105 as a writeoff.
We wrote a tool that pulls in several open source tools, the most important of which is sqitch[1] - a beautifully simple Perl based tool for managing migrations that supports rollbacks and verifications - all written in SQL.

All hooked up into CI, as well as being available from the CLI for developers, so they can open a PR and get feedback, as well as seeing what locks are required for a given migration.

1: https://sqitch.org/
A third of the websites run on Wordpress, its not trendy but it works and has a huge library of plugins and themes.
By the time I graduated from college, I had been a hobbyist for a decade. I was a good programmer and created a C based data entry system that double the size of the company six months out of college.

But, after changing jobs and staying at a company too long, I became an “expert beginner” and in hindsight was a horrible engineer.

Learning how to engineer happened on the job working with more experienced architects and managers, changing jobs 5 times, and by reading and studying a lot. There is nothing magical about college that you couldn’t learn on the job.
I think in this context Java means "the platform" i.e. the JDK
That's great initially, but problems definitely crop up at scale:

* What happens when your company creates new systems that aren't Python/Django? You can either still shoehorn all migrations into Django models, or have multiple separate schema change processes/pipelines... both options are not good.

* If someone makes an out-of-band schema change manually (either by accident or to do a rapid hotfix), you're no longer on a known version. Not sure about Django, but when this happens, most traditional migration systems cannot operate without additional manual cleanups... whereas declarative tools can inherently transition any state to any other state.

* Depending on the DBMS, with large tables and certain types of ALTERs, using an external online schema change tool is greatly preferable to just running an ALTER directly.

* Does Django support sharding / the notion that a change to a sharded model must be made to multiple shards?
I think that the approach done in https://wiki.openjdk.java.net/display/loom/Main is better than the async/await infrastructure.
They should charge a service fee to the rider, for however much they need to be profitable; and let the drivers charge whatever they want (baseline auction). Now the customer knows how much they are paying to whom.

Imho, Taking a cut of earnings is borderline unethical for a automated services, whether its lyft, upwork, or patreon. Charge a fee, know your numbers, give both sides of your service's users confidence in the service's stability.
-Manage your cash flow.

-Get good contracts.

-Insurance shouldn’t be overlooked

-Manage your receivables

-Transition from taking any client to just taking the clients that are perfect “fits”

-Define perfect fit clients (will take a while)

-Be good setting meetings, conferences, desktop shares (the small details here make a big difference)

-get a main number with something like “call ruby” so the phone is always answered.

-don’t underestimate branding and visual design

-manage your cash

-set goals and find a way to be accountable to them

Hope this helps
Comments moved to https://news.ycombinator.com/item?id=19881709, which was posted a bit earlier.
I think the reasons it causes trouble in the workplace and more generally are exactly why it should be shared with everyone. Sharing salaries/wages is only an issue if the wages themselves cannot be justified. The issue is that very few people's wages CAN be justified (either in terms of scalar dollar amount or in relation to the value one produces), and sharing incomes just shines light on the ugly reality that income disparity is mostly senseless. I think a lot of societal problems would be solved if we all had a sign over our head showing stats about how much we make and how we spend that money.
It's funny when I ask my wife if she's hungry and the cats chime in.
Excited to see this. I hope it leads to a trend to listing sooner and giving access to retail investors much earlier. Buying Uber at a few dollars instead of $42 for example. The markets will operate like they want to unless there are explicit rules to stop it. Right now it's wait to IPO as long as possible, and HFT only accessible to huge companies. Retail is left with the scraps.
Throwback to 2003! At first glance this seems _very_ reminiscent of the Java Portlet standard - https://en.wikipedia.org/wiki/Java_Portlet_Specification
That's separate from what the grandparent talked about. During the process of developing a new feature, I may incrementally refactor old code a few times, but only some of those changes make it into the final merge.

When I look back at the history, I'm only interested in seeing the changes that actually made it through, not every intermediate alley and dead end in between. If those dead ends are significant discoveries/results, I document them elsewhere.
You should talk to colleagues about salaries, but avoid telling friends, family, and the general public.
Except those of us using magit instead ;)
Blog post at https://github.blog/2019-05-10-introducing-github-package-re....
I'm normally fine with employees sharing their salary info. Since I'm a manager of individual contributors I can't do much myself in granting compensation changes. I can make recommendations, but I'm not the final approver.

That being said - if an employee were to come to me and say "I want $X because so-and-so (or 'others on the team') are making that much", I would deny their request outright. That's a childish way to ask for a raise. It doesn't highlight what you're bringing to the team; only what you want to take from it.
Prolog is a terrible "programming language" - and I would never try to use it as such. But it is (at least conceptually) an excellent query language. In that regard, it is much closer to SQL, as is its domain of reasonably applicable problems.

Clarification: I dont actually think prolog is terrible (I credit it as the most exciting language I have ever learned), I just mean its not intuitive to "program" with in the imperative sense of telling a computer what to do. What I mean by it is excellent as a query language is - given a set of data, it is great for drawing conclusions from that data (but not in the same way as a "traditional" query language like SQL).
I generally agree, although whenever a rate is reduced for any reason, it should be stated out loud and in writing and on every invoice with a clear end date or specification for the reduction. Never let the special deal be forgotten as anything other than a special deal and after the deal is up, raise your rates back to normal without hesitation or apology.