News for hackers. Stuff that matters.

Tommah

I'll add my two cents here. A lot of the work that goes into a codebase doesn't necessarily appear in the final product. Sometimes code is hastily written to get the system working, and then it has to be rewritten to be faster or more stable or what have you. A rewrite can just reimplement the final code. Sometimes the company changes direction (think of the stereotypical aimless startup that pivots every Tuesday) and the code solves a problem that the company is no longer interested in. A rewrite can just ignore that code. Some of this has to do with technical debt, but it's also due to the fact that it's easier to do something when you know exactly what you're trying to do.

It's like the difference between between reproducing a proof from a math textbook and actually proving a new theorem yourself. The latter takes a lot more time and effort, even though the amount of work in both cases looks the same from the outside.

Django has the function render (it used to be render_to_response) that takes a template and converts it to HTML. So it isn't just the JS people who are using the idea of rendering in this sense. More generally, rendering doesn't necessarily mean something visual; for instance, one may talk about how a phrase in one language is rendered in another language.

(I'm also 39. You and I may see each other at the shuffleboard court soon.)

You're right about D, but Rust is drawing some people away from C and C++. Something may emerge that will do the same on the JS front-end. In fact, I'd say that the TypeScript/React combo is more susceptible to being replaced than C and C++ are. There are many large C/C++ codebases that represent many man-years of work and won't be rewritten or thrown away any time soon. JS front-ends don't have that kind of longevity. Think about how many web startups just fizzle out, and their code just goes away.
This is pretty poor writing by PG here. What is "neutral opinion"... fact? Or the people who answer "I don't know" in political polls? And saying "Actual frauds are usually pretty conspicuous" is silly. If an attempt at fraud were really obvious, it wouldn't trick many people. The big frauds are the ones that are outwardly plausible and therefore trick lots of people.
Re:Google I/O 2024 on Friday March 29, 2024 @07:42PM (#39870265)
My Chrome installation updated itself recently, and when I restarted it today, it asked me whether I wanted to enable new AI features. I told it no. In retrospect, if it were really intelligent, it would have known I was going to say no.
Re:Google I/O 2024 on Friday March 29, 2024 @07:39PM (#39870252)
Don't worry. There will be a few witless attempts too.
Re:The end of Airplane.dev on Wednesday March 06, 2024 @06:42PM (#39623273)
"So what makes you think you're a good fit for this job?"

"I already have it."

bee_rider already touched on this in another comment, but the theorem makes sense if you consider a matrix with large diagonal values and small off-diagonal values (in magnitude). If I have a matrix with 1,000,000 on the diagonal and 1 everywhere else, I'd expect the eigenvalues to be 1,000,000 plus or minus some small error. The Gershgorin disk theorem proves this and puts an upper bound on the error.

The diagonal elements of matrices have a lot of rather "magical" properties if you think about it. Their sum is also the sum of the eigenvalues of the matrix. And if you have a matrix A that is singular, you can choose any value x that is not an eigenvalue, and then A - xI is invertible but still mostly behaves like A.

Ahem, you mean alluding, not eluding.
Re:SuperTux on Tuesday February 27, 2024 @04:42PM (#39530398)
DOTA 2 gets rebalanced constantly; certain characters are made stronger or weaker. Overwatch also received some major changes relating to team composition.
Maybe they just wanted 3,158 Hacktoberfest T-shirts.
Re:Press Release: Future Software Should Be Memory Safe on Monday February 26, 2024 @11:41PM (#39520223)
Yeah, I think they're trying to say "Stop writing in C and C++, blockheads!" but in a more diplomatic tone. Most of the common languages today are memory-safe. Really, which ones aren't? C and C++ are the big ones. I guess throw Pascal in there if you don't use pointers correctly. Assembly lets you make indirect accesses anywhere in your allocated memory. Perl lets you leak memory if you create circular structures and then lose references to them. But Java, JavaScript, Go, Python, Ruby, etc. don't let you trample all over memory the way C and C++ let you. You can corrupt memory if you really want to, e.g. in Python by using ctypes to cast integers to pointers, but it takes a lot of effort.
Re:You almost never see a clock at the mall on Sunday February 25, 2024 @06:33PM (#39506079)
I still see a lot of outdoor signs that alternate between showing the time and the temperature. They're usually outside banks, and near apartment buildings sometimes. Libraries probably still have clocks; they want people to know how close they are to closing time.
Re:Thanks FedEx, This Is Why We Keep Getting Phished on Friday February 23, 2024 @07:24PM (#39487878)
One of my startup jobs paid us through ADP. While our ADP account was being set up, my boss told us to be on the lookout for an email from them. So one day, I'm in the middle of programming something, and I check my email. Lo and behold, there is an email from ADP... or is it? It is about fifty words long and contains five grammatical errors. It's asking me to fill out the attached PDF and email it back. The PDF is asking for my full name, address, phone number, SSN, and so on. I figure this may be some kind of phishing attempt, so I ignore it and get back to my work. If it's real, I'll hear about it again, right? Well, two weeks later, my boss tells me amazedly, "Hey, Bill from ADP is still waiting for your information! Why didn't you reply to him?!?!" I laughed and told him why.

As a bonus, when I was finally put into the system, they managed to get my zip code, phone number, and SSN wrong. At ADP, quality is job zero.

Re:Google Pay app will no longer be available on Thursday February 22, 2024 @08:14PM (#39475660)
Once the Supreme Court ruled that money is speech, this was the next logical step.
Re:Finding a new software developer job on Thursday February 22, 2024 @04:51PM (#39473792)
I was doing something like this recently, where I implemented movements for the kings and rooks. I didn't even implement check or checkmate; basically, you win by capturing the king. I think that took me about 2.5 hours.
Re:Google to fix AI picture bot after 'woke' criticism on Wednesday February 21, 2024 @11:34PM (#39463293)
> For example, a prompt seeking images of America's founding fathers turned up women and people of colour.

I smell a sequel to Hamilton.

Re:Google to fix AI picture bot after 'woke' criticism on Wednesday February 21, 2024 @11:32PM (#39463280)
Next thing you know, they're going to tell us that he didn't really hunt vampires. You can't trust anybody anymore.
Re:Dead Internet Theory on Tuesday February 20, 2024 @03:19AM (#39439073)
> My bet is that the next "hip" thing will be either off-line or off-tech.

IME, the Internet was much cooler when it took real-life things and improved upon them. If you're a writer, you can post something on a blog, and now potentially anybody in the world can read it. If you like to play chess but you're in an isolated area with few other players, you can go online and play on there. If you have kids and you want their grandparents to see how they're growing, you can send them the pictures online, etc., etc. But so much online activity these days is only about itself, and it turns out vapid and pointless. Manufactured outrage on Twitter, "lifestyle" pics on Instagram, political battles with your cousins on Facebook, etc. really add nothing to anyone's life. And these things only exist because the platforms are there to provide a place for them. No one walks down the street looking for strangers to argue with, or holding pictures of food to show to people. I hope we, or at least the younger generations, will eventually see Twitter and Facebook and the rest for the wastelands that they mostly are. And I hope something else comes along that lets people actually hear each other, that magnifies good ideas, and that rewards effort.

Re:An Extreme Antipattern for Programming Books (2023) on Monday February 19, 2024 @10:02PM (#39437574)
> Just glue an envelope with a CD to the backcover

Those CDs have a way of disappearing. My local library used to have a lot of tech books that were missing the accompanying CDs.

> They have providence, maintaining custody from manufacturer to store shelf.

That's called provenance, not providence.

Re:Everything Is a Linear Model on Sunday February 18, 2024 @04:07PM (#39423359)
Linear algebra was the first math class I took in undergrad. I thought the next one was going to be non-linear algebra! But it wasn't.
Re:Altman's Ambition on Saturday February 17, 2024 @09:49PM (#39415674)
There's only one way to know for sure.
Re:AI hiring tools may be filtering out the best job applicants on Saturday February 17, 2024 @08:17PM (#39415186)
Years ago, I worked for a startup that was trying to build a recruitment platform. We fed résumés into a few different SaaS résumé parsers, but the results that we got were generally unsatisfactory. They worked perfectly on maybe 5-10% of the résumés. The rest of the time, we would see some bad results, ranging from minor errors to total nonsense. Maybe AI will make these systems work better and produce more consistent results, but... hey, why are you laughing?

Anyway, a lot of these parsers resembled prototypes that could be solid systems if additional work had been put in, but this additional work had never actually been put in. My favorite example: one parser reported that a lot of the résumés showed experience with storage area networks, even though most of our résumés were from nurses. Hmm. It turns out that a lot of the résumés were from San Francisco, and the parser saw "San" and said "Hey, San is short for Storage Area Network!" This is stupid on several levels, but this is what goes on with these tools.

More recently, I applied to a job opening that was on one of the ATSes that are popular today (I don't remember which one). When it analyzed the text in my résumé, it determined that I worked at a company named Software Engineer. Oddly enough, it couldn't figure out what role I held at that company. These are tools that people pay money for, and they can't figure out that Software Engineer is a job title and not a company. It boggles the mind.

So if you apply to hundreds of jobs and you keep getting rejected, keep in mind that a lot of those rejections are because of nonsense like this. You'll also understand better why so many people advise you to look for jobs through your network. Your former coworker Bill will be able to explain who you are and what you worked on, while that newfangled ATS that just got another $10M in funding may look at your résumé and just get confused.

I think it's résumé-driven development taken to the extreme. Someone at Instacart just added a line to their résumé: "Integrated generative AI into core product, increased media coverage of company by 300%." Now they just have to cross their fingers and hope their prospective employers don't read Business Insider. (Or use Instacart, I guess.)

I hope that our industry eventually revisits (or arrives at) the idea of doing worthwhile things and doing them well. All the software job descriptions these days say that you should know Docker and Kubernetes and AWS Lambda and Terraform and MongoDB and Cassandra and Cloudflare and GraphQL and so on.... Meanwhile, their Facebook-for-dogs site gets ten visitors a day, and it runs dog-slow (pun intended) because their ex-FAANG dev lead wrote code that is bubble-sorting a billion items in main memory.

Re:Meta cuts off third-party access to Facebook Groups on Monday February 05, 2024 @09:46PM (#39270162)
Back when Facebook games were really popular (Farmville and Bejeweled Blitz come to mind), Facebook was infamous for making breaking changes constantly. I remember this specifically because my friend told me that I should move one of my games over to Facebook, and I told him that if I did that, keeping it working would be a full-time job.
Reposting my comment from a couple of months ago:

At one of my jobs, they used Asana when I started. It was too full of backlogged issues, so we moved over to Jira. Then Jira got too full. A month before I was laid off, one of my coworkers said, "Maybe we should try out Asana."

Re:Ship / Show / Ask on Sunday January 21, 2024 @08:58PM (#39085181)
It works fine for a small team (probably three people or fewer), especially when you're still building the product and don't have it deployed yet. Breaking things isn't a major concern at that point. After people have started using your code, or if you hire a bunch of developers, then you probably want to be more careful.
I usually just hit >> and then <<.

Older »