skysight-inc/HackerNews huggingface dataset:
> “This is the first example I know of that a major, major feature is really coming to the Web despite there not really being a business case for the business that normally advance the Web,” said Rick Byers of the Chrome team at Google.

Paraphrased: It doesn't make money, so why do it?
One thing that that I hadn't fully understood until recently is that garbage collectors can actually allow you to write more efficient code.

Previously, I had the general understanding that you were trading convenience (not thinking about memory management or dealing with the related bugs) in exchange for performance (GC slows your program down).

That's still true broadly, but there's an interesting class of algorithms where GC can give you a perf. improvement: immutable data structures, typically used in high-concurrency situations.

Consider a concurrent hash map: when you add a new key, the old revision of the map is left unchanged (so other threads can keep reading from it), and your additions create a new revision. Each revision of the map is immutable, and your "changes" to it are really creating new, immutable copies (with tricks, to stay efficient).

These data structures are great for concurrent performance, but there's a problem: how do you know when to clean up the memory? That is: how do you know when all users are done with the old revisions, and they should be freed?

Using something like a reference count adds contention to this high-concurrency data structure, slowing it down. Threads have to fight over updating that counter, so you have now introduced shared mutable state which was the whole thing you were trying to avoid.

But if there's a GC, you don't have to think about it. And the GC can choose a "good time" to do it's bookkeeping in bulk, rather than making all of your concurrent accesses pay a price. So, if done properly, it's an overall performance win.

Interestingly, a performant solution without using GC is "hazard pointers," which are essentially like adding a teeny tiny garbage collector, devoted just to that datastructure (concurrent map, or whatever).
In Kansas we called the trees “hedge trees” as they were grown as hedges around fields. They grew thickly and with the spines, cattle were disinterested in passing through the hedge. The branches were used a durable fence posts. The fruit were called “hedge apples”.
> Short of "not driving", human drivers don't have the option of "well, this is less than optimal, I can't do well, so I won't try".

They sure do, and will stop when things are too complex for them (e.g. bad weather).
These salaries definitely have reporting bias, and the top paying companies are definitely outliers by definition. But one important point with regards to BLS data is that they don't account for total compensation, which is a large part of compensation especially in tech, sometimes greater than 50% of one's total package.
This is a pretty standard looking diagram. It probably isn't very expensive to run.

AWS diagrams are pretty intimidating until you've built a few things with several AWS services.

The benefit is that a lot of maintenance work is taken care of for you, and your costs can be low if you don't need a lot of compute.
> By reasonable laws (US) the lack of copyright on a database extends to the trained model.

That's related to the point I'm trying to make: RSS feels like an "open database" with a lack of copyright, but it very much *isn't*. There's no lack of copyright on RSS posts. Most RSS posts explicitly mention things like Creative Commons licenses that apply to the copyrights on their content. There's an implied copyright on every blog by the very nature of blogging and its resemblance to traditional publishing (and traditional syndication). I'm deeply suggesting that with RSS you should start from the assumption that all posts are copyrighted by their author and that you don't have permissions to use the copyrighted contents. If an RSS item includes Creative Commons metadata you can start to use that, to the extent that the Creative Commons metadata matches your intended use cases.

I am not a lawyer, this is just friendly advice from an old RSS user and syndicator. RSS feeds being generally public doesn't mean that copyright concerns disappear. (This was one of the hard known lessons of some of the worst "Planets" that did things without author consent.)
@OP you've exceeded your daily cognito limit
I have a vested interest in this argument, because it comes up all the time. From your argument, it's apparent you've never written a program in anything except a configuration language.

But by your own admission:

> You are not declaring what it looks like, you are writing instructions for how to produce declarative

If this was true, a Pulumi program would look like this:

const bucket = new aws.s3.Bucket()

if (bucket) {
// do something
} else {
// do something else
}

If you'd written anything in Pulumi you'd know that isn't how it works. The only imperative part of Pulumi is your ability to manipulate the DAG, for example:

const config = pulumi.Config()
const createBucket = config.reqiureBool("createBucket")

if (createBucket) {
new aws.s3.Bucket()
}

Now, is there an imperative statement in there? Yes, but the only imperative part is your decision to include or exclude the bucket itself from the declarative end state. You do _exactly_ the same thing in Terraform but with a less intuitive syntax:

resource "aws_s3_bucket" "example" {
count = 0
}

By that definition, if Pulumi is imperative, so is Terraform. It's not though, and you're wrong.
1,2,3,14 add a lot of complexity which increases the potential for bugs and security issues.

12 is almost certainly a typo

13 is probably a spammer

Also <input type=email> will reject several of these as well, so if you have such an edge-case email in your database, you'll run into issues with html forms.
>3. The outputs of the human brain are a function of its inputs (probably my most contentious contention :-P ). This is what I mean by it's physical system.

Well, this needs to be proven. Note that "the outputs of the human brain are influenced by its inputs" is not the same as "the outputs of the human brain are a function of its inputs".

>4. The human brain shares these features with a computer. And thus my metaphor is formed.

Doesn't it also share it with, e.g. a meat processing machine? It too has an input (say, meat and spices) and an output (e.g. sausages), and it's output is a function of its input (e.g. different meat and spices create different kinds of sausages).
So you're saying the government should regulate how you use your private property? That's an interesting idea coming from a so-called "red" state.
You are making my point for me!
Regarding the question of "Why [Common] Lisp?"...

I did early Lisp development on Symbolics Lisp Machines back in the day. Wrote 3D graphics on them. I didn't realize how special the development environment was until I got my first job, writing 3D graphics in Fortran on VAX/VMS. Spent the rest of my career (Fortran, C, C++, IRIX, Linux) bemoaning all the stuff I missed from my Lisp days.

I did venture back into Common Lisp development (MCL/CCL on MacOS) for my personal projects. Even did my masters thesis in CL by writing a socket connection to Maya and using it as a graphics engine from CCL.

It took me a long time (decades) to get over the "everyone should be using CL" mentality.

Thinking back on things, I have come to realize that Lisp is not a magic bullet: it won't necessarily make you a better programmer, and it won't necessarily make your project more successful.

What Lisp will do is give your developers more power at their fingertips. For better or worse.

The philosophy behind Lisp (and Smalltalk) back in the 70's and 80's was that programmers should be given as much expressive power as possible so they can develop better, faster, etc. The reason why CL allows you to define macros, redefine classes and methods on the fly, use generic functions and multiple inheritance, and recover from errors, is simply that the language designers considered these import enough to do the hard work to make them happen.

I feel that philosophy, backed by the economics of software development, fell out of favor over time. Performance, safety (preventing developers from shooting themselves in the foot), code maintenance by large teams, cost, etc became more important.

Today, the main factors in language choice are (1) the availability of developers, and (2) the availability of libraries/tooling. Going against these currents requires awareness and a strong commitment. To paraphrase an old computer industry saying: no one got fired for choosing Java.

On a personal note, I continue to use CL for my own projects, where the pleasure of development is more important to me than commercial considerations. I have done so for kons-9, my 3D graphics system, and am happy that I did so. I simply would not have been interested in doing the project in C++. I find that CL is a language which supports me in my development, rather than fighting back.

As an added bonus, the features of CL have encouraged me to think differently about the architecture and design of the system. A system built in C++ would simply have converged towards being another Maya/Houdini/Blender (at best, after many years of development). This way, I have a chance to do something different, which is a big part of the fun.
Is that hilarious? I actually think it's a semi-reasonable assumption. You're far more likely to want location directions than straight-line distances between arbitrary cities on Earth.
When I ask it the same questions my results are different:

Q: What Is the distance from Chicago to Tokyo?
A: The distance from Chicago, United States to Tokyo, Japan is approximately 8,113 miles (13,055 kilometers) if you were to fly in a straight line. It takes approximately 15 hours of flight to reach from Chicago to Tokyo.

Which is fun because it is also wrong, but gives a different incorrect value.

Q: What is 3 to the power 73?

A: 3 to the power 73 is equal to 3 raised to the 73rd power, which can be calculated by multiplying 3 by itself 73 times.
3^73 = 3 * 3 * 3 * ... (73 times) = 3 * 3 * ... * 3 (73 times) = 1.43382043e+22
So 3 to the power 73 is approximately 1.43382043e+22

Also incorrect but a different value. If I change the question slightly, for example, by dropping a question mark or saying "Three to the power OF 73" It also gives a slightly different incorrect answer.

What I find really interesting here is that if I ask it the exact same question it gives the exact same result. But then if I open up a new instance, it will give a different incorrect answer, and repeat the incorrect answer again only if the question is identical.

Edit: This could be a decent method of fact checking for anyone determined to use chatGPT; phrase the question slightly differently and compare the results (never input the exact same question twice).

Interestingly, it now correctly outputs Honduras for the second largest country in South America, but if you ask it to list them by size it will get most of the rest incorrect.

My own experimentation with ChatGPT made me dismiss it, but I was asking it comparatively difficult questions about linear algebra and programming. I'm kind of shocked it fails at these basic questions I would have thought it would be more than capable of handling.
Vegan processed foods are often just as bad as regular processed foods. So sweet. The vegan label may mean there's no meat or dairy but it doesn't mean it's good for you. Most processed food isn't.

Plant based whole grain is usually a diet of the real foods themselves. Take a bean burrito that someone makes fresh. Or a stir fry using fresh veggies. So different from processed foods.

I still eat pizza. Love them carbs :)
Yep, sorry that's that I meant. Having managers who randomly moved or canceled 1:1s in the past, it's a major pet peeve of mine when managers just unilaterally cancel. Personally, I try to never cancel, but if my report wants to cancel, we'll it's their meeting and I get half an hour back :).
One general comment I'll give to this.

Combining neural networks (like ChatGPT) and logical (like Wolfram Alpha) AI systems has been the aim of many people for 30 years. If someone manages it well, it will be a massive step forward for AI, probably bigger than the progress made by the GPTs so far.

However, while there are lots of ideas, no-one knows how to do it (that I know of), and unlike the GPTs, it isn't a problem that can be solved by just throwing more computing power at it.
Eh I've seen this even at FAANGs.

The thing is, the syntax/design patterns in the code can look clean. But that doesnt mean the abstraction/interface is the right one
Sounds like a somewhat uniquely New York problem, rather than a generally applicable lesson.

An equally valid position is: don’t cap the size of your addressable market to just people who live in the place you work.
I worked in an environment where a senior architect got to veto every major effort that I publically made to improve the structure and maintainability of the software.

At some point I got so pissed off about this that I started assigning code reviews to him - he contacted my manager and asked that I stop, because he had no understanding of the project in question.

What did this mean from the documentation side?

I would have loved to accurately document what I was doing and how the project was structured - but I actively avoided doing so.

Every time my manager's boss knew what I was doing, I was about to be shat on from great heights.

Months of work and planning erased at the drop of a hat - time and time again.

Dependency injection? Fuck off. Spring's too heavy.

Modularity? Fuck off. The project's too small.

Hierarchical profiles? Fuck you, keep using a properties file (with an increasing number of dynamically generated keys).

I was constantly asking for a new developer to be brought in for the transfer of knowledge - at best I was told "That's not a bad idea."; yet nothing was ever done about it.

I took an unmaintainable pile of bugs and made it stable and maintainable. But nothing I ever did meant that I was someone worth listening to.

Eventually I got so burnt-out (and consumed by feelings of uselessness) that I walked away without finding another job.

I was damned near suicidal from fighting for acknowledgement.

I cannot imagine that my departure went too well for them.
I am sorry I have quickly deleted that part with advices while you must have been responding to it.

But this in my experience is truly important -- from the very start plan how a new member of the team is going to get really proficient at the system. Ideally, they should be able to immediately recognise/reuse patterns/idioms they already know.

People bitch and moan about boilerplate of Java applications. But when I join the project and I see controllers, models, repositories, entities, services, etc. I am pretty much at home as I know what all those things are doing and how they are connected to each other.

Whenever developers decide to run with their intellectual desires it ends badly.

I try to explain to people that typical business backends applications do not have custom problems. Most of those REST services are just supposed to receive query, run a piece of business logic, translate it into database call and then map response into specified format.
Several of the brcmsmac-using chips have driver code that works "fine" until you push enough traffic through. Race conditions, I assume.

P.S. Never buy Broadcom.
TF has indeed introduced some questionable semantics, though count does not make it imperative. On this you are wrong.

Yes the infra after the imperative step can have declarative layers, but the DX is still imperative. Declarative frameworks still have imperative operations underneath. You cannot argue that something is a declarative DX that is no longer a declarative input. Declarative DX is what matters. Pulumi reverses this so that the outer most layer is no longer declarative. Declarative as a term came to be because it is what the human is doing

> The engine is what matters, not the configuration format.

Code is not a configuration format...
My company actively promotes rotating to different areas of the company every 18 months. I think it's terrible for continuity as well as skills development.
That's not the only way to do that tho? Or is that the recommended way to do it?
https://threadreaderapp.com/thread/1606223922474627073.html
Ever try using a sheet of paper to force yourself to slow down while reading a book? You use the sheet of paper to cover the unread portion of the page (aside from the current line, obviously) to prevent your eyes from skimming ahead.

I remember seeing kids with reading problems doing this in grade school.

Much to my chagrin (and amusement!) I now find it very useful for myself. Prevents me from reading so quickly that I absorb nothing.
I'm with you there.

I started using Mathematica 22 years ago, during first year of college. I've worked as a professional Python developer for slightly less time (18 years). I've built tons of systems in Python, and none in Mathematica, yet Mathematica remains as the best option as a "bicycle for the mind", and that's thanks to the coherent vision of Wolfram research and perhaps Wolfram himself.

One thing to add is that Wolfram, as you said, has money. That means he doesn't spend his days fixing bugs in a devops pipeline and questioning his life choices while a scrum master impishly consumes his days on Earth with inanity. He has time to think about stuff, to explore ideas, and he has already explored quite a bit, and has a breath of understanding of math, physics and a few other sciences that the average machine learning engineer simply doesn't have.

So, yeah, I'm a Python fanboy, but honor where honor is due.
Tesla is discovering it's created a lightning rod for blame.

Previously, accident culpability was diffuse across individual drivers in a way that motivating any group of individuals to action is inherently a _social_ problem, and one that is often dismissed as such.

The development and deployment of a singular identifiable causal agent casts off that shield of diffuse social responsibility in a way that leaves Tesla vulnerable to intense scrutiny. It doesn't help that as Tesla's figurehead, the collective schadenfreude we gain from Musk's failures are converted into a cathartic group joy.

Nevertheless, the dynamics of blame have changed because the terrain has changed. The closest analogy would be a human driver that drive all the miles autopilot drove in 2022 and was responsible for the same number of autopilot crashes in 2022. Presented outside the frame of this debate, I can't help but imagine we would want them off the road regardless of whether their miles per crash were less than the population on average.
This makes me sad about the state of the Web. Worst thing is, it can't be fixed because the major money makers dictate where the 90% mindshare falls.
> Oak Ridge said it was forced to fire me because I misused government resources by engaging in a personal activity on a work trip and because I did not adhere to its Code of Business Ethics and Conduct.

Uh, yes. I would think using laboratory resources to stage a protest at your own organization's event would be grounds for punishment. I don't think this was an issue with the message itself.
> But lots of techies hate WA

How could any "techie" possibly hate Wolfram Alpha?
Lol no it’s all good. Costs are still under $1 overall, but they may be rate limiting me because I see some requests take 5 seconds or more.
Thanks for the compliment!
The graphics module is the core of the application (the UI consumes the Graphics module for all the rendering). There are two modules that aren't currently being used in ecode: physics and audio. I'll keep the audio module for the moment (it's very tiny and doesn't add new dependencies, and I'll probably use it for optional notifications). The physics module it will be probably moved apart as a complementary module as I did already with the "Maps" module for this release.
Unfortunately, this breaks apps, Materialistic in my case.
Only slightly off topic?
Well, the web can shift rendering between server and client side depending on the developers’ needs, but graphics is done mostly on the client side with their hardware. And while things tend to cycle between “centralized” then “edge computing” and back, graphics does make more sense to stuck to the client device, especially with ever bigger screen resolutions/color spaces/refresh rates paired with low-latency requirements.
It sounds like you're trying to hold all this in your head rather than taking notes! Why?

Are you sure the task really requires going three+ levels deep into what the API is doing??! On the surface, being asked to "port the API" sounds more like a request for a work-alike API not a complete redesign, although with the idiom of the target language of course.

I don't think this has anything to do with age! You should be at the top of your game at age 40, if not still improving, but maybe there are personal/stress factors that are affecting you.
FWIW, that's illegal in the US by default. You have to file an ATF Form 1, pay the $5 tax under the NFA's "Any Other Weapon" classification, and wait months for approval before manufacturing one.
“ Finally, and suddenly, here’s a system that can successfully generate text about almost anything—that’s very comparable to what humans might write. It’s impressive, and useful. And, as I’ll discuss elsewhere, I think its success is probably telling us some very fundamental things about the nature of human thinking.”

I think that being able to analyze, preprocess and remix a huge corpus of human-authored text on all subjects is altogether a different type of “intelligence” than actually understanding the subject.

In some cases, it can approach understanding and actually demonstrate it. In others, it gets things woefully wrong - such as when it claims bears are larger than elephants and shows figures to back it up that prove the exact opposite. (I asked if a bear could eat an elephant.)

As I started to ask ChatGPT the same question with different parameters, I saw the Mad Libs side of it. (Simply replacing text in various positions.) It has a TON of that.

Also I don’t know how much its many, many human handlers massaged the basic structures, eg “why is this joke funny” etc. That kind of stuff is the type of Artificial Intelligence that all science and technology is - many hands work on software and we ship the next version. That is itself an intelligent process.

HOWEVER, what I am really looking forward to is “chain of reasoning” advances. Can anyone point me to those?

Also, has Cyc gone anywhere? Wolfram should be aware of that project.
It's probably not you, it's just badly structured legacy code, and you're trying to understand it all like you wrote it. Been there, it sucks.

Find someone who worked on it and have them explain it to you like you're a 5 year old. If they can't explain it in simple terms, you'll confirm that it's not the piece of cake you thought it was.

I don't dismiss that you might just need some sleep and are overworked, but since you're asking these type of questions, I'd say you're probably fine.
IMO Soros covers this in the sentence about social situations
> We may exchange some contact and share some more info if you are interested.

Sure, email me at poordadrichsonhn / gmail
Or more likely 41.