Hacker Newsnew | past | comments | ask | show | jobs | submit | replwoacause's favoriteslogin

"It's not X, it's Y" (or "it's not just X, it's Y") is one of the most common tells, but there are many others. Here's a partial list:

> https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing

It's definitely post-training bias and reinforcement. This rhetorical structure isn't too common IRL. (Or wasn't, anyway, prior to LLMs...)


The secret to being an elite 10x dev - push 1000's of lines of code, soak up the ooo's and ahhh's at the standup when management highlight your amazingly large line count, post to linkedin about how great and humble you are, then move to the next role before anyone notices you contribute nothing but garbage and some loser 0.1x dev has to spend months fixing something they could have writting in a week or two from scratch.

This echoes my experience with Claude Code. The bottleneck isn't the code generation itself—it's two critical judgment tasks:

1. Problem decomposition: Taking a vague idea and breaking it down into well-defined, context-bounded issues that I can effectively communicate to the AI

2. Code review: Carefully evaluating the generated code to ensure it meets quality standards and integrates properly

Both of these require deep understanding of the domain, the codebase, and good software engineering principles. Ironically, while I can use AI to help with these tasks too, they remain fundamentally human judgment problems that sit squarely on the critical path to quality software.

The technical skill of writing code has been largely commoditized, but the judgment to know what to build and how to validate it remains as important as ever.


PowerShell has the best pipeline capability of any language I have ever seen.

For comparison, UNIX pipes support only trivial byte streams from output to input.

PowerShell allows typed object streams where the properties of the object are automatically wired up to named parameters of the commands on the pipeline.

Outputs at any stage can not only be wired directly to the next stage but also captured into named variables for use later in the pipeline.

Every command in the pipeline also gets begin/end/cancel handlers automatically invoked so you can set up accumulators, authentication, or whatever.

UNIX scripting advocates don’t know what they’re missing out on…


For us, affordability is _part of the product itself_.

We’re specifically building this _not_ to hoover up every dollar on the table, but to serve smaller groups that have been left out in the cold by "bigger" tools, and who get screwed by per-seat pricing. We believe there are enough teams who fit this profile to be profitable.

There’s a difference between making profit and maximizing profit. the capitalists will call us crazy, but we're not here to maximize profit.


Looking for niches where no one else is building is overrated (I say this as someone who chose to start the 200th uptime monitor in 2021).

Tell a prospect/customer that you'll do something, actually do it, and you'll be better than 99% of the businesses out there.


IMO it's a good idea to provide a free trial without asking CC details. Seeing that we have tools like https://postgres.new/ which offer similar functionality for free

Software is a house. The more you lean into the analogy, the better.

I often tell clients "The first thing you asked me to do was to move a dining room chair into the living room. Then you asked me to do the same with the toilet. The latter only works if we tear out all the plumbing."

Non-coders seem to understand these analogies intuitively.


> I was already a keyboard maximalist from previous jobs where I learned speed = productivity

I've never understood this. In over 30 years in the industry, I've not once held a job where my keyboard speed had a noticeable effect on my productivity. Even when I had to type one-handed for a month, my productivity was unchanged.

The average developer averages 10 lines of finished code per day. And even with a raw 10x that amount to account for variance, changes, debugging etc, you'd be at 12 lines PER HOUR. Being generous at a full 80 chars per line, you have a maximum of 1000 keypresses per hour, or an average of one every 3 seconds. Even doubling your typing speed or keyboard response time would have no discernible effect.

90% of software development happens in the mind. The small amount of time spent actually writing it out seems kinda silly to optimize for.


Apply at companies that are really big, really old, and are pretty bland. Like insurance, banks, retail. Basically apply to everything in the Fortune 500

Scrum brings out some bad in software dev, but the worst in product management. It makes the schedule more important than the work, and the meetings more important than the communication.

Fix it with Kanban. Or at least the Kanban-flavored way of working where you set top priorities, keep lines of communication open, and just do what matters.

All processes can be screwed up if your leaders try hard enough, but Scrum is almost never the answer.


Honestly, I’d feel a lot more secure about building on this if you did take (for example) a small fixed fee every month. Or a 10% commission on any requests (volume discounts on that commission for high-volume users?).

If I start using you now you’ll either disappear in the future or you’ll suddenly start charging more, neither of which I like.

I’m already paying for inference, a little amount on top of that for the convenience of a single API is pretty useful.


The best quote I’ve heard from our clients is “don’t trust AI with anything you wouldn’t trust a high schooler to do.”

That line of reasoning has held true across basically every project we’ve touched that tried to incorporate LLMs into a core workflow.


I recommend the book of hard knocks.

Selling is hard. Selling is painful because rejection is painful and rejection is most of selling. Everything is easier than selling.

Looking for shortcuts, tips, and tricks is easier than selling. It feels like work, but it is not. It is just pretending and avoiding pain.

In business, selling is all that matters. Technical competence without sales equals a failing business. Selling without technical competence is a road to riches.

You can hire technical talent better than you. Build the cost into your price and mark it up for overhead and profit.

You can’t hire sales who care as much as you.

Just grinding away at sales is the simplest thing that might work. The only thing better is luck.

Good luck.


Hello HN,

We're finally sharing our github with the world. This post is the first announcement of our project apart from our thus-far non-populated subreddit. No one's discovered us yet. We've only told one person in the world before right now. We're new to developing and we're very humble and willing to learn, so any suggestions and help is welcome.

What we aren't as humble about is the potential we think this application has. HiddenVM allows full-scale anti-forensic use of any desktop OS. (No longer just Tails.) If you place your installed files inside good deniable encryption like VeraCrypt, it means that no digital trace of your chosen OS is left on your hard drive or can be forensically proven to exist. That is significant.

There are many reasons why you may want to use HiddenVM. Some use cases include:

- You're a spy protecting national security and you need to leave no digital trace on the hard drive of the computer you just used.

- Law enforcement agents conducting sensitive investigations.

- Diplomats, politicians, and military personnel.

- Whistle-blowers needing to safely carry their information in any situation.

- Activists, dissidents, political asylum seekers, and journalists in need of stronger protection of their information from corrupt governments when their equipment is forcibly seized. (We know that the risk of the rubber hose remains a complex problem and limitation of encryption.) Now that you can use Windows once you set it up inside Tails, keeping your data private could become easier for you.

Border agents forcibly invade our privacy and potentially steal our secrets with no respect to who we are or what our rights are. We need tech solutions to protect our data. More use cases include:

- Lawyers carrying sensitive client information.

- People in business protecting their IP or trade secrets.

- Tactics in fighting against corporate espionage. It could be expensive or impossible to sue for someone's unlawful intrusion into your data. Easier to technologically prevent them in the first place.

- Protect your basic privacy and dignity for any of the one thousand other reasons why privacy matters.

- You travel a lot and you want to use Windows/macOS/Linux in a way that prevents malware code from being forcibly installed inside your operating system simply because you entered a country.

- Digital currency: store a more private Bitcoin wallet. Secure your assets against unwanted and unwarranted access. When data literally is money you have a lot to lose.

- Domestic violence victims, and people in other dangerous situations in life.

Data privacy is a human right. If you don't want someone searching your naked body and violating your dignity in that way, why should your data be any different? Airport border agents not only perform a full digital strip search, but they're also potentially stealing your data or implanting spyware and malware without you knowing. It is a devastating act.

Using Tails should never be reason to suspect you are a criminal or a spy. It also protects basic data privacy and democracy. Tails should become a standard USB that anyone who values their digital safety carries around in their briefcase, bag, purse or wallet. We hope our application increases the size of the Tails user base.

Thank you for your interest. We invite you to rip apart our assertions and code (but with courtesy), try out HiddenVM, and contribute to our project.

Sincerely, aforensics


I'm not going to make an argument for or against owning real property, but you need to do better financial math if you want to make a argument from economics.

a) You want to have two (or more, potentially) scenarios to choose from. Maybe Option 1: rent for X years (with assumptions) vs Option 2: purchase a house for X years and then sell it (with assumptions). In both situations you start with no housing, and end with no housing, and you can compare the financial state after X years. Or maybe you don't care about your housing, so you could do Option 1: purchase a house and rent it to someone for X years, then sell the house vs Option 2: do nothing for X years vs Option 3: invest the starting funds from Option 1 in a S&P500 fund for X years and then sell it. Again, you'll be in the same situation after X years, except with more or less cash.

b) If you're going to compare dollars, you need to cast them all to the same time frame. Today's dollars and next year's dollars are not comparable units, because of time value of money. This requires assumptions about appropriate rates. Look into net present value.


(article author here) There's definitely nothing wrong with Mermaid. In fact, the current syntax at https://flowchart.fun can be converted to Mermaid (in export window) and I'll continue to support that when I migrate the app to the new syntax I'm proposing in this article.

The biggest differentiator is indenting to create edges, which I think is useful for some graphs and in some contexts (especially for quick brainstorming). Mermaid is great and super expressive.


A year ago I started using Elm for a side project where I wanted to let my users go beyond typical Markdown and templates and apply their own processing rules on html/css generated by an Elm view. Unfortunately I discovered Elm's libraries aren't really intended for that - a view can trivially create html nodes but you can't transform those same html nodes in the obvious way because their attributes aren't readable. If you want something you can transform in multiple passes you have to use your own IR or html wrapper.

Maintaining a redundant IR just to be able to transform attributes wasn't a price I was willing to pay for a fun side project so since Elm really didn't want me to work with the generated html the way I wanted to I looked around and decided to give Yew a try. Unlike Elm, Yew gives you a way to include arbitrary html in the rendered output. Accessing third party javascript with wasm-bindgen is also much simpler than using ports or custom elements in Elm.

Well after playing around with Yew a bit I found myself missing the effortless refactoring experience I had working in Elm so I decided to come back to Elm and go with a hybrid approach. Now I have static html/css with small Elm modules for forms and simple views and a completely separate app does the transformation. This wasn't the architecture I originally had in mind but overall I like it better.

Having said all that I can sympathize with the author's frustration. It's really really irritating when you encounter something that you think should have a trivial solution but turns out to be hard in Elm because of the choices the Elm developers made. In my case I felt like I was on a luxury cruise that was fun 99% of the way until finding out their policy was that I had to swim the last 1% on my own.


>The embedded business logic. Within the 50-60 years of code there’s a ton a specific edge cases encoded for long forgotten business reasons.

Honestly, this should be the top comment in the thread.

The issue isn't COBOL being a hard language to learn or to translate to Java or not enough programmers or companies not being willing to pay people enough to work with it.

The issue is the 50 years worth of business logic, added incrementally, over the years, with no documentation, blended into the original source, for reasons no one still working there remembers, as you stated. It's IF-ELSE statements all the way down and no one wants to touch a single one of them for fear of breaking something whose conditions might not even manifest themselves for months or years with no real way of even regression testing it.


I tried for an hour to set this up once. The docs were all over the place, you needed prerequisites that were hard to find and linked to 404s. Mysterious errors. Eventually my curiosity was overcome and I gave up.

> I'd love to see an economists take on the value to a consumer of holding gold in this form, at the price

Directly-held gold is mostly a scam. In good times, vault gold trades at a premium. (Like diamonds, try to sell your ingot of gold for anywhere close to commodity spot.) In bad times, someone will stab you for it.

Unless you have $100+ million, where you can charter your own logistics outside government-sanction lines to e.g. aerolift you [1], your family and your gold across national borders, directly-held gold isn’t doing anything for you.

There are vanishingly few cases where your vault-held gold certificates are valueless while your directly-held gold has value.

[1] Also, news flash, when dictators flee they carry dollars. Gold is heavy and traceable if you’re using proper bars.



I've been using MacWhisper for a few months, it's fantastic.

Sometimes I'll send a mp3 or mp4 video through it and use the resulting transcript directly.

Other times I'll run a second step through https://claude.ai/ (because of its 100,000 token context) to clean it up. My prompt for that at the moment is:

> Reformat this transcript into paragraphs and sentences, fix the capitalization and make very light edits such as removing ums

That's often not necessary with Whisper output. It's great for if you extract captions directly from YouTube though - I wrote more about that here: https://simonwillison.net/2023/Aug/6/annotated-presentations...


If this isn't a business application, ignore this entire comment.

If it is a business application, you probably shouldn't build a CRUD app, at least not the way that's commonly understood. Stick with me for a minute.

First off, you must never delete business data (except per GDPR, retention policies, or other legal requirements). I'm sure someone will pipe in with a contrived use case where you would want to, but in general you must not. Soft-deletes, sure. Hard deletes with immutable history, also ok. Generally the popular frameworks will not help you here.

Second, realize that an update is logically equivalent to a delete followed by an insert (under the hood, Postgres implements `update` precisely thus). So per the above, you should think twice about updates. As with deletes, an immutable history can make updates safe. Alternatively, you can use append-only versioning with a current version pointer. Again, the frameworks are just not going to help you here.

So out of CRUD that leaves just CR that are fully safe, and those are the easiest parts.

I'm sure most folks will think this is ridiculous but that's because "building business software" is 1) not taught in school, 2) considered hopelessly boring, and therefore 3) not valued by developers. Nevertheless, it's generally, y'know, our job. Good business software must keep records. It must track when things happened, who did them, and so on. The typical approach to CRUD, as exemplified by all the frameworks suggested in other comments, does not keep such records, and therefore produces software that is unfit for its purpose.

One common objection will be that you don't need these things, or don't know that you need these things, at the beginning of a project. Yes you do! Imagine telling the IRS "oh I didn't keep very good records this year, after all my business is just getting started". Record-keeping needs to be treated as a hard, non-negotiable requirement for all business software.


I became disabled after a music festival last year. The music was too loud and something broke in my ear.

Now every sound hurts me, my voice is far too painful, going for a walk outside is too painful. Basically I can't do anything but sit in a silent room and browse the internet.

Pain hyperacusis sucks. I wish I'd been more careful with my hearing.


I am maintaining one application in construction industry space. That application was created 25 years ago by construction worker that never wrote single line of code before, but because he caused a lot of problems on construction site they give him Programming 101 book and let him build it.

15 years later the app was close to half milion lines long of huge bowl of spaghetti code. Only comments in whole codebase were timestamps. I don't know why he dated his code, but I find it fascinating: he never deleted basically anything so you can find different timeframes of when he discovered various concepts. There is use-exception-instead-of-if period, there is time when he discovered design patterns, there is time before he learnt SQL so all the database queries was done by iterating over whole tables and such. I am sure I will find commented Hello world somewhere in the code someday.

I am working on this codebase for 10 years. Code quality improved and major issues get fixed, but there is not enough budget to actually rewrote whole system, so after all it is more or less huge spaghetti monster and I get used to it.


Or let's take another perspective:

Free VPNs are easily understood and accessed by minors, except now their browsing history is exposed to spurious, unverified, and foreign companies and actors that aren't held to the privacy standards of internet providers and mobile carriers.

This is "ten foot wall and eleven foot ladder" territory and we should be very wary of who is selling the ladder.


We (the internet community) made such a terrible mistake with social media. We formed connections and communities and friendships on sites like Facebook and Twitter and Reddit, but those companies need to make money, so those connections are only allowed to exist as long as they are part of a profitable system. How awful it is to reduce human connection to that. To think that I am only allowed to maintain certain social connections as long as they continue to produce monetary value for an intermediary. An awful, awful mistake.

Pricing the headset at 7x the Quest seems like an Apple power move. Ordinarily if you’re 2nd or 3rd to a category you’d expect there to be pressure to price in the same ballpark. You want customers to compare but say the new product is worth spending a reasonable amount more than the old product because it has some bells and whistles.

At $3500 Apple invites no comparison. They’re basically pretending Meta doesn’t exist and that they’ve invented the category, as though it’s the iPhone or iPad.


This makes me indescribably sad.

Apart from mourning the loss of a fantastic app by an awesome developer, to me it signals the end of a golden era of small indie client only apps. Since the APIs for the likes of reddit, twitter (RIP tweetbot) and others were available for free or a reasonable fee it spawned a whole cottage industry of developers who made a living selling alternate front ends for these services. These apps invented many of the conventions and designs that eventually percolated to the official clients. Sometimes these innovations even became platform wide conventions (pull to refresh anyone?). The writing was on the wall for a while, but now the door is firmly closed on that era - and we will all be poorer for it.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: