Recent submissions

Comment · 2 years ago
Define what you mean by "everyone" -- there are times where the cost of immutability can be overwhelming, such as in high traffic systems with overly complex data structures which you are required to use because someone who should have known better insisted upon writing.

(sorry, bitter personal experience) And yes, that is explicitly "modern" Java code written by a lead engineer and "java champion" in 2023.

Comment · 2 years ago
It's really difficult to plagiarize if you write the paper or take the exam in class using paper and pen-or-pencil. It's also difficult to plagiarize if the teacher/professor/TA actually wanders around the room during the test (without stopping behind a student and raising the student's blood pressure in the process.)

Of course, that involves more on your part as teacher/professor -- you actually have to teach and test and act as editor -- on an ongoing basis. At university, that's part of what TA's are (or should be) expected to do. As a teacher, it's your responsibility.

So, if you happen to be a CS 101 instructor ask for the evolutionary copies of a program. If you happen to teach poetry and cover Herrick, ask for an original poem in the style of "Upon Julia's Dress" and see what the students happen to see from the same poem.

Teaching without ensuring that learning happens is a waste of time and a disservice to your profession.

Comment · 2 years ago
I made a mistake. I'd like to blame it on my new mouse, but it was me. Thank you for pointing it.

I regret the error and shan't make it again.

Comment · 2 years ago
@dang, the "comments" (other than this one) are all from a bot.
Comment · 2 years ago
This construct: string longestLine = [ argmax(line.strip.length) line for line in text.split("\n")]; print(longestLine);

looks problematic to me -- are the brackets indicating scope? an array? something else?

As far as the naming is concerned, you'll probably have to put up with remarks such as "neat code is messy" because that's the way people are with something new. Don't let that dishearten you!

Comment · 2 years ago
Comment · 2 years ago
Once upon a time, NCR's mainframe language was called Neat (the version I briefly used was called Neat/3 which was a low-to-mid-level language if memory serves. I was writing compilers.) My memories of a language with that name are unpleasant.

This is probably the least useful of all comments, but please think of another name. My quibble with the language has to do with the use of '[' .. ']' pairs. I'm not confident that refactoring will be straight-forward. I could be wrong.

Comment · 3 years ago
Actually, it's also the job of lead or senior engineers who have to teach their experienced and educated teammates how to read and write a state diagram and how to use it in order to show them why the code/service in question is unreachable from the current state -- and should remain so.
Comment · 3 years ago
Sure, this fits the way software evolves on the circle of dumb. It goes something like this: What a great idea!... (a little later) Hmmm. That's a problem... (later) We need something to run apps in the browser. I wonder if WASM would work... (now) What a great idea!...

Software development always goes in cycles. "Apps" were great now maybe not so much so...

In the late 80s/early 90s, the CEO of ETA Systems (a supercomputer company) had a vision that by 2000, the world would be split between supercomputers and workstations. I have seen some evidence that people are considerng that once again... The Circle of Dumb is always with us in software land.

Comment · 3 years ago
For those who prefer reading books, there's always the precursor: _The_Nine_Tailors_ by Dorothy L Sayers. If you can find it, I believe there was a program or series called something like _Lord_Peter_Wimsey_ that aired on PBS that may have aired some time before the turn of the century.
Comment · 3 years ago
MedicareAdvantage is one of those things where people say, "Oh. It's Medicare and it has all this extra stuff!" because living on basic Medicare is expensive and finding appropriate physicians can be daunting because of high deductables and low cash to practitioners. It's not a scam but an attempt to provide better care.

The problem is that it's almost always run by insurance companies and they're concerned about profit rather than the individual. Think of it in the same way as you would a PPP or basic HMO plan from your employer. Other than the oddities such as money to pay for over-the-counter medication (limited to $40 per quarter) there's little-to-no difference.

It's not the government limiting the care but rather the insurance companies protecting their profits. It's capitalism in action. Deal with it.

Comment · 3 years ago
There is nothing useful here. Don't waste your time.
Comment · 4 years ago
Yes architecture is important. Yes, there are various software models that may fit in the general case. Seeing this short list is semi-useful, but the key is knowing the problem you wish to solve and how it fits within an organization.

There are no silver bullets. You still need to do the analysis, you still need to understand the technical competencies associated with any possible solution, and you won't get a good solution for your organization just by saying, "Domain-driven design (for example) is the way to go here." if the organization isn't prepared to make the investments in time and money required. If you expect to do an enterprise architecture, find an architect or three and give them a team to actually do the job. It will take longer than you would think.

Comment · 4 years ago
Alas, the language is incredibly verbose in and of itself and the plethora of examples continue to be incredibly verbose. From _Java in a Nutshell_ to the latest documentation, the examples all tend to be of the form:

UnbelievablyLongClassName unbelievablyLongClassName = new UnbelievablyLongClassName(parameterName, anotherParameterName);

Given that nearly all existing code follows this pattern (yes, there is var which is only useful in some cases as opposed to C++'s auto keyword) Java has become hopelessly convoluted.

Before I get downvoted, you should keep on mind that I was an early adopter (1996) of "Java as a sane C++" and have been stunned by the verbosity of "modern" Java applications. Unless the standard libraries change (and the effect of that would be staggering) and the open source libraries all change, and every existing application code changed to use reasonable names, Java will always be overly verbose.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton