skysight-inc/HackerNews huggingface dataset:
If you're a millennial and involved in SW-development then its likely Java has touched your life in some way.

Java was the magic pill in late 90s in India and every Engineering graduate irrespective of their domain was told to get certified in it for a job. My sister(ECE) was one of them, my father got our first computer (Pentium-III ~900 MHz)to help with it in 2000 (which was a big deal for a middle-income family in India) and unfortunately the Dot-Com bubble crash hit its peak with absolutely no recruitment for java developers. My sister struggled for a while, fortunately was able to switch domain(non-SW) and has a great career now.

Fast forward to 2005, it's my turn in the Engineering college - CSE (A premium one, so job was pretty much guaranteed). Our 2nd year has introduction to programming with Java, No C, no low level languages, straight up Java. Since meritorious, Many in my college are from very poor backgrounds who never had access to computers, taking in Java directly was very tough for them. So almost everyone went for C-programming training outside our college run by one of our alumni(He has now started his own Engineering college, one of the largest in the city!) all of them studied C, so they could understand Java(programming) better!

In late 2000s it was common to define your job as a 'Java developer' and it was understood in even rural India. Famous movies were made where a character goes from rags to riches because of Java. Then in 2008 during my placements recession happened, only fraction got placed(mostly in java dev), I was into J2ME and so waited for a mobile development job. Then Android happened, got a android development job and of course Java development background helped me a lot(Worked with other major languages every now and then).

Fast forward 2019, I've shutdown my startup due to health issues. I'm not writing android applications or java-back ends anymore. Wanted to switch to some other language as primary language partly because of java fatigue, partly because learning new language could help me divert my attention from the ongoing issues, but mainly because I have less time to code(Any time saved is a time I can put for my health) .

I chose Go, because I've been burned before by Python when the application scaled up requiring expensive optimizations. Luckily Go was everything I wanted from a new language although it wanted me to empty my cup(pun intended). Now, most of my code is in Go be it production applications or home automation scripts. I don't think I'll be able to touch Java again(perhaps maybe it brings back memories I don't really cherish) or may be I'm just adamant.

If you have made it so far, Thanks for reading.
Article worth reading. Includes mention of git-ps, a simple tool which helps to create a "stacked diff" workflow (like phabricator) in places where you are expected to work in a feature branch based workflow. Might be worth a try, since I personally find the idea of exchanging patches much more interesting (and also more logical) than the idea of creating branches for new features.
A Mental Model for Prioritizing Your Startup's Energies by Ttunguz
Good thing we now have SCRUM for our code monkeys.
most devs will take whats given or just ask for lowest possible
alot of people in the dev community never negotiate on a thing
https://news.ycombinator.com/item?id=26932978
this thread highlight it well
> The supply of "first run X" is guaranteed to be limited, though.

Yeah like art and first edition books, sure.

> Bitcoin won't be a good store of value until it calms down.

It is at a trillion dollar market cap already. Only one single 10x away from gold. The long term regression on the Bitcoin price says that it will flip gold in less than 5 years.

> what if you buy in when it's very very very very high?

You hold. Or hodl as the memers say. Bitcoin is a black hole and it will swallow everything else, because it is better than everything else on every metric. Yes it even uses less power than fiat or gold.
4 minutes read.

The pendulum metaphor between product and engineering to marketing and sales efforts, made me think this week of my situation at work. It also felt like a useful framework to understand the challenges a few friends recently shared with me regarding prioritization. It creates a common language that can align leadership on where to put energy and attention. Use Tomasz Tunguz's suggestion to figure out where you should set your focus in the next three months.
Nope, I still use it, and many others too, for sharing design ideas.
TypeScript has the ! operator [0], which can be used to override the type system’s null check.

For example, suppose I have a variable of type

type Name = string | null
const name : Name = null

and I pass it to a function that expects just a string (not null),

function len(str: string) {
return str.length;
}

Then

len(name);

will fail type checking, but

len(name!);

will not fail type checking, but will fail at runtime.

[0] https://stackoverflow.com/questions/38874928/operator-in-typ...
These days UML is the kind of thing I mostly expect to find in xkcd strips. I have been writing software for a few years and I haven't seen anyone use it non ironically outside of academia.
> Collisions between cars and trains are not uncommon

https://www.bts.gov/content/train-fatalities-injuries-and-ac...

91 rail collisions (not just with cars, but of all types) for trains (not just passenger trains) in 2020 nationally.

That’s...pretty rare.
It solves the problem of: how can I start a pyramid scheme relatively anonymously.
I second NN Group. It is by far the best resource for UX/UI, unfortunately, no one follows it and virtually all UX/UI today is filled with issues left and right.
Use This Hack to Sleep Anywhere in 2 Minutes or Less (2019)
You broke the site guidelines so badly in this thread that I've banned the account. You can't do that here, regardless of how wrong someone else is or you feel they are or how badly they behave.

If you don't want to be banned, you're welcome to email hn@ycombinator.com and give us reason to believe that you'll follow the rules in the future. They're here: https://news.ycombinator.com/newsguidelines.html.
My Canyon Commuter 7 bike which is my primary mode of transportation to work, shopping and short trips. It has a belt drive with built in lights. Very low maintenance unless there is a flat. It saves me a lot of time and keeps me fit.
Python app development for beginners – Kivy mobile app tutorial
what kind of savage eats frozen broccoli?

EDIT: not trolling, i'm really curious. Fresh broccoli is available all year round everywhere and it is so much better than the frozen stuff. Why would anyone buy it frozen?
I think it's main promise was to sell training and materials to large companies. Nice work if you can get it.

Here's one that enabled some people to work a rich vein for a while.

https://en.wikipedia.org/wiki/Shlaer-Mellor_method

added:As an old person, there's no point in listening to me though. From where I sit, the main improvement over the last 40 years has been the widespread adoption of third party libraries. You'd be surprised at the things that had to be written from scratch. ...I just thought of another difference over time, the population of programming hobbyists who became professionals. It would kill me to write software for free.
Not if you don’t exist
https://jgthms.com/web-design-in-4-minutes/
Are there that many people with iPad Pros who do not have the folio or Magic keyboard?

Also, I feel like the solution is to release an "App" that has a virtualization server in it, that can run MacOS. Keeps it contained, off to the side for the devs, but can take over the screen and inputs and be a fully-fledged touch MacBook to those who want it. (Maybe require dev accounts?)
Assuming this excludes “modern-necessities” like an iPhone?

I have a hard time picking just one. When I was working in the office regularly I would’ve said my AirPods Pro or Sony noise cancelling headphones.

More recently a new mattress has made a huge difference in my sleep quality and I can’t believe I waited so long.
Since Amtrak is fully owned by the federal government, why not let them run the trains. That way there’s no subsidizing of a few large companies.
Not free, but the best: https://www.ramtex.dk/
Whats the better alternative, if any?
UML are blueprints, but blueprints are not the thing, just like maps are not the land. Talk to anyone in construction and their first complaint is often the blueprints are wrong. They may have missing or extra space, call for impossible things, changed since the project began, or be flat out wrong. Whether the blueprints are actually wrong or we’re not followed is up for debate.

So if UML is blueprints, it’s not that they failed. It’s that the creators misunderstood the actual fidelity of blueprints. They will never be perfect enough to replace implementation.

Sometimes I wish for more formal planning, and that real design could be done before code. But instead of building a design process, programmers immediately saw a way to automatically generate code, and in that they made UML useless.
> Where do you live that the middle class doesn't have to worry about paying for college?

Europe, most likely... You know, those socialist countries where there is still a middle class.
Having read about Feynman, as well as his books, my superficial takeaway is there was Feynman before his first wife's death, the "wicked" middle, and then his final, successful marriage. A lot of the stories are from the middle.

Being exceptionally intelligent doesn't mean he was wise in the ways of life. Like many people, he was flawed, and after the traumatic death of his wife his participation in life was marred by his that lack of wisdom and perhaps his own intellectual approach to beating the "game".

We irresponsibly expect perfection from heroes. If heroes aren't perfect, how can the average person be held to that metric? You'd have to cancel all of humanity (we really are shit, TBH).
I'm going through literally what you mentioned last. I had a very simply API built on lambdas for a side project, that worked perfectly fine till last month. But now, every minor change I make to that code results in some error or the other that I can't figure out for the life of me. It has been so bad that I had to quit the project altogether.
It's not a matter of should. It's just that, on average, someone in a cheaper city will accept less than someone in an expensive city because what is too little to cover rent in some places allows you to live like a king elsewhere.

It's just supply and demand. Give 50k in a poor country, and (assuming there are enough qualified people), you will have quite a lot of choice. Give 50k in SF and people will be laughing at you. Why give 200k in the first instance when there's enough supply with 50k?
I haven't implemented the fallback yet, but my thought was to keep most of the structure the same (dispatch function tail calls to the function for an individual operation) but then have the individual operation just return instead of tail calling back to dispatch.

I think this would be portable while still avoiding some of the performance problems associated with a traditional switch (like the bounds check).
While you wrote this, your country's Central Bank printed a few billions (or trillions, if you are american) in your currency, so that your money now is worth a lot less than before.
I see this sentiment a lot, but it seems blatantly false.

This assumes that employees are a fungible commodity whose price should be set by some efficient market rate, but that's not true at all.

Under the current regime, the setup helps top performers be compensated more highly, without torpedoing morale.

You can fantasize about a world in which the salaries are transparent and everyone has frank conversations like "Yes Jill makes 50% more than you even though you're nominally at the same level. Her compensation reflects her superior contributions to the company." But that's just not how it is.
It does solve the problem of being unable to get a bank account. In theory, once the scaling problems are solved and the transactiom fees go down.
Never rely on those stuck on the financial abstraction to dig themselves out. Economics has a way of rotting the connection between real life and price movement.

The point is that the company is pumping share price, not through actually creating value, but by tweaking but by engineering scarcity, and othogonal to the corporation's reason to exist. GP is conflating the end to which buybacks are a means with the actual goal of what Boeing was colloquially for; baking safe airplanes.

This more pervasive than anyone in the business world wishes to admit.
This also applies to modern IT security
> Rust has a planned keyword for this exact feature, namely 'become'. So the author would be able to use it in Rust just as well, as soon as support for it lands in an upstream LLVM release.

The author is demonstrating a new Clang feature. Then, again, what is the point of mentioning Rust?

> writing raw C as the article suggests in order to parse a quasi-standard high-level format is cowboy coding.

So what? Cowboy coding lets you appreciate even more languages where you don't need to do it, AND gives you a better understanding of how they might work.

> it's not the kind of code that should be anywhere close to a real production workload.

Again, not a single time in the article the author suggests that.
The problem with tools that generate code is that they are often unidirectional. If there is no way to get code changes to propagate back to the visual model, the latter is likely to fall into disrepair pretty quickly.
Fair point, however there is so, so much that is ambiguous and indeterminate. Some jobs, let's say line-chef or administrative assistant where roles are very clear and variance between a individuals is relatively low, often do have salaries or wages stated up front. In the line of work I'm familiar with, hiring developers is Pandora's Box - you have absolutely no idea what it's going to be like a year down the road. I've worked at startups, big tech companies, research labs - at absolutely none of those places did the work I end up doing match the specific requisition I had applied to. Furthermore, in almost all cases each staff member has an extremely unique specialty that do drastically different work - despite having the same job title and classification.

Edit: Also, when a company does not disclose the salary range for the position it actually provides a very useful data point., You can pretty much be sure it's at most average -- but probably less-than-competetive -- market rates. The major and popular tech companies don't need to do this because they have a reputation, but the smaller companies can either show they too are competitive (by publishing above-market rates) or show they do not offer competitive salary (by not publishing their salary target).
> How come the LISPs, and other functional dynamic languages don't need static type declarations.

if they really didn't we'd be using operating systems written in LISP instead of C

> Btw LISP can be fast as C. I will give you a tip: those dynamic languages knew beforehand to separate code from data.

ditto
Colleagues, from my experience, tend to be human beings you can talk to. If this were a deeply systemic language issue, that would be a different matter. But this is something that's solvable by educating the rest of your team.
> Also where are the concurrent collections in the stdlib?

I think this is the crux of your issues with Go. If you're going to learn a new language, learn the new language. Don't try to recreate your existing language with a different syntax.

Java and Go have different strengths and weaknesses, and they are not used to build software with the same architecture. Java is useful for writing big monolithic servers while Go is better at building smaller independent modules communicating with each other, but there is much more to them than this.

I work with Java but still prefer to use Go for my hobby projects because it makes concurrent processing much easier to reason about. Also it's far less tedious than Java to install and use, but the bar isn't very high to start with.
Don't Make Me Think

(and no doubt other stuff by the same guy)

https://en.m.wikipedia.org/wiki/Don%27t_Make_Me_Think
That is the definition of censorship and it does change the information available. Knowing that someone is being slandered can be informative.

You have to make a choice of what you prefer but the choice you're making is censoring slander or not.
I'm not arguing the point. We are far more able to tackle ground-vehicle emissions, home heating, and electrical generation.

But eventually air travel's time will come, and HSR is the only alternative that's on the table.
Go html/template Server Side Components
Probably the structure of the industry: American farms are (as I understand it) not generally family affairs and are run by big companies. In the UK there's still a heavily feudal element in terms of who owns the land, with many tenant farmers etc who won't have press offices and the like. Willing to bet it is that.
I'm not posting to try to convince you, as you're clearly beyond reason. I just find some aspects of your comments here interesting, and worth laying out for any third party who might read them.

First you attacked a comment (above), claiming they'd moved goalposts in their arguments, and then you claimed hospitals had not overflowed. Subsequently, you responded to a comment providing a citation saying they did, by demanding a different source - which is moving the goalposts, the very thing you criticized in someone else.

Here, look at this, another article showing Indian hospitals have overflowed, this time from Reuters:

> Indian hospitals turn away patients in COVID-19 ‘tsunami’ [1]

This is relevant because you yourself consider Reuters a citable source, at least when you like what it is saying [2].

That comment you cited Reuters in reminded me of another of your comments [3] (I actually did mark your words, as requested):

> Mark my words America is heading towards herd immunity as long as we stay this course, and this will be all over by the end of the year. (you, eight months ago)

How's that herd immunity coming along? Was it all over by the end of the year?

[1] https://www.reuters.com/world/india/indias-daily-coronavirus...

[2] https://news.ycombinator.com/item?id=26732877

[3] https://news.ycombinator.com/item?id=24277509
I don't really understand the question because they both seem so essential to me. I'd say very often the ride cymbal keeps your basic groove. Especially in latin-jazz, if it's a swing or salsa pattern or whatever, the ride drives that pattern continuously. Which helps the band (and listeners) stay in sync with the groove, and lulls you into hypnosis with the repetition, and sounds super cool imo. Whereas the crash adds hype/power/emphasis to your important moments.
The person should get what the market process decides.
If a person lives in a "poor" country, it changes nothing. They can spend less? Sure, but peeping in other's pocket under capitalism is a huge communist red flag :-) Maybe the person has opportunities to relocate to a "developed country", but chose deliberately to get more money instead of "social support".
how about this: https://i.imgur.com/lSfdTfK.jpg
If you continue to post flamewar comments to HN we will ban you. We've asked you repeatedly not to do this.

https://news.ycombinator.com/newsguidelines.html
Completely agree with this sentiment: Don't include every detail in your UML, but use it instead to straighten out your high-level ideas. PlanUML is also my go-to for this.
The Gatekeeper
AbstractFactorySingletonProxyFactoryBeans 8 layer deep is really the anti-pattern of reusability, you can't just copy/paste that code into another project without also including hundreds of dependencies. It's like "proof of work" in cryptocurrencies, eg. you need 50 people to produce the code. Or some type of DRM to make sure no one else can use it.
Oh my GOD he is writing shell scripts in Java?

This man has the patience of the gods. Not because of the writing, but because he actually has the time to wait for Java programs to start when he wants to run a small shell script?

You could run 5000 bash scripts in the time it takes java to load. You could run 500 python scripts.

What is this guy smoking!
> The fact that there is so much money, SO much money, being thrown around a technology that is dodgy at best, and a scam at worst, is terrifying.

We have very little evidence to substantiate the actual quantity of real dollars in this system.

The NYAG settlement with Tether shows that it's backed by bailing wire, chewing gum and hope [1]. USDC has stopped publishing their attestations as of January (which, btw, - and I can't believe I'm going to cite Tether's Saul Goodman but - aren't audits [2]) and since then it's market cap has doubled. USDT and USDC both use similar weasel wording about the nature of what backs them.

An attempted ETF a couple of years ago admitted 95% of all trading volume in the crypto space was fake. [3]

The CFTC smacked Coinbase because literally 99% of all Litecoin trading volume in 2017 was one dude, Charlie Lee - the LTC founder, wash trading internally [4]. Lee then took advantage of the market cap he synthesized, dumped literally all his holdings at the peak and sailed off to an island.

This is just a couple of examples off the top of my head. It's all fraudulent.

[1] https://ag.ny.gov/sites/default/files/2021.02.17_-_settlemen...

[2] https://twitter.com/bitcoinlawyer/status/1386146486359150597

[3] https://cointelegraph.com/news/bitwise-calls-out-to-sec-95-o...

[4] https://cftc.gov/PressRoom/PressReleases/8369-21
It functions that way because it has a functioning rail line? Or at least semi-functional. YOu are right you won't find those conditions anywhere else in the US but that is our own fault
Let’s Launch a Moonshot for Meatless Meat
Some companies want to test if a person spent time preparing for the interview. So asking all those quiz questions does make sense even if they are no relevant. At least it shows that the person knows the rules of the game and is willing to invest substantial efforts to follow them even if the rules are arbitrary and irrelevant for day-to-day activities.
Oh ok, the prisoner's dilemma is about whether you should tell your coworkers your salary.
Not a trustworthy news source
Hey, I remember that. Code generation is cool in that you have now made it an upstream part of your tool chain. No changes allowed at the code level.
You could also add in the page count for the specifications of SysML, DD, MOF, OCL, QVT and XMI.
even if you set aside the claimed gains over handwritten imperative loops, being able to tell the compiler to fail unless tail call conversion succeeds will be huge in terms of preventing performance or stack depth bugs from surfacing when someone accidentally makes a change that makes a tail call no longer convertible.

if you ask me, it should be part of the language. the whole "just make sure you shouldn't need a stack and the compiler will probably take care of it" approach has bothered me for years.
Moreover, DRM prevents copyright content from entering the public domain. In my personal opinion, anything that's not available without DRM shouldn't get copyright - otherwise it subverts the deal at the centre of copyright.

The way around this would be to have a way to lodge a DRM free copy, which would be released to the public domain when the copyright expires, or on abandonment (so people wouldn't be denied access if the company didn't keep their servers running).

Copyright is not a natural right, the balance is totally out of whack. Copyright terms have become abusively long; the deal is not fair anymore.
Using factory someone else made is tedious? In what way it is more tedious then using constructor?

It is just that thing ... there are patterns that are tedious. The object mapping before hibernate was extremely tedious for example. But factory pattern ... seriously?