Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. GPT-6 Sol and Luna(openai.com)
    550comments
  2. Claude Opus 5.5(anthropic.com)
    765comments
  3. 'We hacked the FBI:' Hackers say they have data on all FBI employees(404media.co)
    202comments
  4. Microsoft killed FoxPro in 2007. Anyway, here's FoxPro revived(foxscript.org)
    89comments
  5. OpenAI GPT–6 Astra breaks Enigma message that has resisted solution since 2005(cryptocellar.org)
    354comments
  6. ReBarUEFI: Resizable BAR for almost any UEFI system(github.com/xcuri0)
    6comments
  7. SAML: A fractal of bad design(trailofbits.com)
    69comments
  8. Claude Opus 5.5 Intelligence, Performance and Price Analysis (Max)(artificialanalysis.ai)
    62comments
  9. Unreal Agent(unreallabs.ai)
    64comments
  10. WordPress: Unauthenticated path traversal leading to conditional RCE(github.com/wordpress)
    74comments
  11. Native apps written in TypeScript and CSS(github.com/geastack)
    18comments
  12. How did AMD Ryzen get 50% faster in two years?(lemire.me)
    57comments
  13. MUNI Heritage Weekend in San Francisco(lawrence.lu)
    37comments
  14. Show HN: JevBench, a reproducible benchmark for typed decision models(benchmarkheaven.com)
    7comments
  15. OpenAI is well positioned to fast-follow Jev(arcturus-labs.com)
    183comments
  16. Markdown in /src(htmx.org)
    35comments
  17. Show HN: Training a model to identify AI web content from structure alone(arxiv.org)
    8comments
  18. Did OpenAI solve the wrong Navier-Stokes problem?(scientificamerican.com)
    38comments
  19. 16-bit Intel 8088 chip (c. 1985)(allpoetry.com)
    13comments
  20. George Lucas Returns to Earth, Bearing Gifts(commonedge.org)
    31comments
  21. The current balance of power in open models(interconnects.ai)
    2comments
  22. The trouble with 'ntile()'(djnavarro.net)
    discuss
  23. Apple's Dimensional Drawings(512pixels.net)
    1comments
  24. The JavaScript Midlife Crisis(maroun-baydoun.com)
    9comments
  25. People hooked on vapes try a new way to quit: cigarettes(bloomberg.com)
    74comments
  26. Launch HN: Coverage Cat (YC S22) – Umbrella insurance via your personal agent(coveragecat.com)
    21comments
  27. Pentagon says overreliance on AI contributed to missile strike on Iran school(bloomberg.com)
    175comments
  28. An update on how we confirm your age group on Discord(discord.com)
    51comments
  29. Apple has added persistent 'ads' to iOS, and it's driving users crazy(techradar.com)
    434comments
  30. There's a high chance of devices being sold with GrapheneOS preinstalled in 2027(grapheneos.social)
    103comments

Microsoft killed FoxPro in 2007. Anyway, here's FoxPro revived

123 pointsby 2h agofoxscript.org
90 comments
2h agoHN ↗

Visual FoxPro stopped at version 9 in 2007. A surprising amount of it is still running, in 32 bits, because rewriting a 20-year-old business app is how you lose the business. A customer wanted to keep milking their app for the foreseeable future, so here it is: the same language on a new runtime (Rust, compiled to wasm, checked against the real vfp9.exe), tables no longer stopped at 2 GB, the old 32-bit .fll add-ins still loading, and lambdas, JSON and an HTTP server bolted on for good measure. Reports are not done and the builds are unsigned. MIT because why not?

2h agoHN ↗

I feel like the business apps are an easier rewrite these days rather than imperfectly recreating the runtime environment.

Now your customer has two problems instead of just one.

1h agoHN ↗

Ya so you can bill twice! Once to do it the way the customer wants and a second time to do it right once they realize their mistake.

1h agoHN ↗

MECHANIC

HOURLY RATE

$100/HR ==== STANDARD

$150/HR ==== IF YOU WATCH

$175/HR ==== IF YOU HELP

$200/HR ==== IF YOU WORKED ON IT FIRST

$250/HR ==== IF YOU TELL ME HOW TO DO MY JOB

1h agoHN ↗

What issues were your customer running into that made a 64-bit FoxPro necessary? What makes you more confident in rewriting the entire runtime the app runs inside of than rewriting the app itself? That seems just as risky if not more.

41m agoHN ↗

bigger tables (2 GB cap) and no source code changes.

1h agoHN ↗

That’s great! Nice work thanks for sharing. I’ve never heard of FoxPro but I’ve seen how businesses need some app for 30+ years. Cool to see this happen.

1h agoHN ↗

Great job! 32-to-64-bit conversions are always fun :) One question though. If this is intended for desktop, why bother with WASM at all? Do you gain anything other than less performance?

1h agoHN ↗

Is it less performance if you compare the hardware it was probably running on vs today?

39m agoHN ↗

Funny enough the customer is one of my dads friends that has been running the same shop for 20 years, wanted bigger tables and keep milking that for the foreseable future. I wanted something simple, no jit stuff, no gc complexity. Just a stack based interpreter. Yes it was LLM assisted like most stuff nowadays.

1h agoHN ↗

The main kick is that there is not a way to "rewrite" a foxpro app without tons of stuff along the way!

(Example: You can ship an app that internally run `CREATE REPORT` and the report builder show up. You can invoke the debugger (that as I remember is the best I used a zero alternatives as good existed)) and so on

41m agoHN ↗

The runtime didn’t contain the debugger or other dev tools, only the dev version/IDE did. It did contain the report writer, though.

2h agoHN ↗

My father built several projects in FoxPro. I was too young in the ’90s to remember much of it, but I’m sure he’ll be super happy to check this out. The kicker is that we’ll probably need to buy a floppy disk drive and dust off some old boxes to find them.

32m agoHN ↗

They are unlikely to still work.

If they do, immediately copy the data over. They tend to crumble and fall apart (and contaminate the drive head, which will need cleaning)

2h agoHN ↗

Clarion and Paradox thought one of them was going to win the tontine.

2h agoHN ↗

I loved visual fox pro as a kid (~10). I made little UIs to open my favorite sites and files.

2h agoHN ↗

I might literally be the only person on earth that can honestly say I have been paid to write FoxPro, Erlang, F#, and ColdFusion.

My first software job was at a Tae Kwan Do studio who ran their own billing department, and the entire billing half was some weird custom thing written with FoxPro. Not Visual FoxPro, I've never actually used that, but the old school DOS stuff.

I absolutely hated every time I had to touch it and I had hoped that it would die in a fire. I hope Visual FoxPro sucks less.

2m agoHN ↗

You are right because I've never touched Erlang, otherwise I did the same for a TKD studio as well.

2h agoHN ↗

The low barrier to entry, high developer productivity, and bespoke and "highly conforming to proprietary business processes" nature of resulting applications are all really cool, but man, it sucks when one of these systems outgrows the capabilities of the underlying platform.

I shudder at the though of businesses trying to access DBF files on "network drives" across the variety of shitty overlay network technologies that are the norm today. Seamless remote access to applications is the exact recipe Visual FoxPro apps fail at.

It looks cool but I wouldn't want actually work around apps built in it. It would be cool if a client/server database could be transparently shoehorned in to it.

1h agoHN ↗

it sucks when one of these systems outgrows the capabilities of the underlying platform.

It did, but does it still with AI? Back in the 90's it was crazy painful. I'm not in the same situations as I was back then, but I'm optimistic about the future being better because we have better tools today than we did back then.

2h agoHN ↗

So hard to take these vibe coded projects seriously. I can feel the LLM selling it to me. I don't want to suggest the code is bad or it doesn't work or doesn't have awesome features... but ai built landers are just so smelly.

1h agoHN ↗

Without fail, these vibe coded project websites all make themselves look way more ambitious and established than they actually are. A software project could be hours old and it will have a website that, just a handful of years ago, only projects that had been around for a while and with a revenue model would have had. To me, it comes off as so overly persuasive that the only thing I can think nowadays is "what sort of half-baked junk are they trying to sell me?" Today, a primitive website or a mere handwritten README.md is, ironically, a more reliable signal of whether an application is worth considering. At least to me, anyway.

1h agoHN ↗

We need https://xkcd.com/1742/ but maybe with a different scale category.

Unlike most other people here, I wouldn't really say I've developed a radar for "the vibecoded webpage design"; I thankfully don't dabble as much with FE nowadays so if you told me this is default Bootstrap 4 or something, I'd have believed you. But as I scrolled through the claims, my AI-generated text radar pinged hard and I was caught in a moment of dissonance between the sleek design and the AI-cadenced copy.

Suddenly, I would've had more confidence if this was a black default font text on a white webpage, served from a .edu domain.

The nightly is rebuilt from every push to main and published as a pre-release on GitHub. Unsigned, so the first launch asks you to confirm.

But with only two commits within the hour this really reads more like a concept of a release plan than an actual regimented/automated release process.

My problem with vibecoded projects was never whether if it was going to work but whether if the failure modes are known. And you can only know the failure modes if you check your work. Hence why, I realized that a history of alpha and beta releases for an opensource project is a signal of quality.

2h agoHN ↗

This is awesome! Having had to deal with ancient file formats knowing that there are renewed tooling that's not binding to legacy OSes that you can't no longer find viably is great.

Now, who's open sourcing and reviving FileMaker that Apple killed?

2h agoHN ↗

A company I worked for has run VFP up until the last few years. I cut my teeth professionally with it on ETL processes. It moved data around like nobodies business!

1h agoHN ↗

My first real job was 2006, turning a Visual FoxPro application into a Web Application using ASP.Net 1.1 Web Forms and VB.Net.

With that said, I've never actually used FoxPro. I only had a database as the contract for what my web app was supposed to do.

1h agoHN ↗

All these years later, Microsoft Access is still alive and kicking, and just three years ago, the 32bit version got Large Address Aware (LAA) support! Technically my very first software job was writing VBA in Microsoft Access for a few weeks and they're probably still running it (there's no drop in replacement for it or cheap way to migrate away)

1h agoHN ↗

Access is so good. I can't believe there's no universal equivalent for Linux and Mac. There are dozens of times when I've used a spreadsheet when a file-based database would have been better.

1h agoHN ↗

I'm shocked in general at the lack of open source Rapid Application Development software.

1h agoHN ↗

Probably because *nix programmers in general are the black coffee long beard RTFM type.

1h agoHN ↗

There have been shitloads of open source RADs. They do not generate much interest.

1h agoHN ↗

Someone will no doubt correct my hazy memory, but I wonder how much to blame was the fact that default QT apps were so ugly around the time that was the height of RAD, and QT was the only(?) well-supported cross-platform cross-DE gui framework at that time.

On windows you could RAD your way to a good looking windows application that looked and behaved like everything else. On linux, default behaviour was either ugly, or not very compatible, or heavily customised anyway, and that didn't change until much later with improvements to GTK.

1h agoHN ↗

For RAD, Delphi was filling a pretty big niche in its day, and it's still used in some companies local to me. I remember being told during an interview that it performs really well and it's kept up well enough with the changing times. I knew someone from University about 10 years ago that got her first Software job writing Delphi!

1h agoHN ↗

I think Microsoft coming out with XAML/WPF created too much complexity for most of the developers that were working with WinForms. Although the code had better separation from the interface, it also took quite a bit more effort to get an application up and running quickly. They took the "R" out of RAD, and then kind of put both WinForms and WPF on life support, while continuing to tout cross-platform on .NET Core without a first-party GUI platform. Now it just looks like Azure was always going to be the solution, to tie users into a platform they don't fully control.

37m agoHN ↗

Well, (F)OSS projects have never been known for great UI/UX (with some exceptions like Blender), so it doesn't surprise me much

37m agoHN ↗

Nerds have vested interests (exposure/influence/status based on exclusivity of skill) to oppose letting ”the wrong people” create software, versus a company like Microsoft is the other way around because they get paid and get to further-entrench their platforms (but I repeat myself).

And/or too many people have internalized a feeling of “I am Very Smart because I know better than to ever try anything unique”, as exemplified by that awful xkcd ‘Standards’ learned-helplessness comic somebody will always rush to post in a discussion of any New Thing, and thus would never even dream of creating RAD tools whose entire premise is the creation of bespoke software.

1h agoHN ↗

Access is a whole package with form designers, widgets, scripting, etc. so that you can build an entire distributable app from it. SQLite's a brilliant little DB but it only covers a tiny portion of what Access does.

I kinda loathe access for any number of reasons, but appreciate the dev tools it put into the hands of non-developers. A great many people who'd be passive users on most systems were able to build apps to meet their business and requirements, and although Access was janky as hell, that's very, very cool. I think it's most spiritually similar to HyperCard on Mac: you wouldn't want to write a whole large app in it, and if you're an experienced developer there are any number of tools you'd rather write programs with. But if you weren't a traditional developer (e.g. an office worker or a student or a home computer enthusiast, etc.) it gave you a pleasant hand-holding process for making your ideas come to life. I respect that.

55m agoHN ↗

I thought gambas was interesting but I didn't do much with it.

44m agoHN ↗

Gambas was neat. I think we also looked at Kivy at the time, and I think there were a couple of other Python RAD systems that aimed to be similar to VFP in spirit, although not even slightly compatible.

1h agoHN ↗

Access is so good. I can't believe there's no universal equivalent for Linux and Mac.

Here you go: https://visualdb.com There are many modern alternatives, in fact.

1h agoHN ↗

I've looked into these before and they're often a monthly/annual SaaS that are either by a one-person company, or worse, something like AirTable that gets crazy price hikes out of nowhere (or shut down) that's a disaster for a small company. Place I worked already had Microsoft Office paid for so why move away from Access.

1h agoHN ↗

If it works for you then there is no need to switch. But Access is a desktop app, and in 2026 it is pretty unusual to use a desktop app for business applications. Also, Microsoft is no longer developing Access.

1h agoHN ↗

Microsoft is no longer developing Access

I don’t think that’s true.

59m agoHN ↗

In 2026, Microsoft Access is still fully supported and bundled into Microsoft 365 Enterprise subscriptions. Back in 2014, I'd said to my employer that it's not going anywhere for at least a decade (and that they can fully ignore a report they'd received from the NDPB that oversaw their work that suggested Access might be at risk of disappearing)

50m agoHN ↗

As long as it has a significant number of users Microsoft will keep shipping it. But it is not getting significant new investment. If you are building a new application you're better off using Power Apps, Dataverse, SharePoint, Power Automate, etc.

6m agoHN ↗

In 2026, Microsoft Access is still fully supported and bundled into Microsoft 365 Enterprise subscriptions.

Having a subscription is only a small part of the total cost. Access works best when combined with a bunch of VBS/macro scripts, which IT departments globally are trying very hard to stamp out completely. Access also needs its own set of permissions and manager of permissions since it can't inherit permissions from anywhere of the other usual Microslop security stores - at least, not without having its own developer/maintainer/champion on tap.

Not to mention the agreed wisdom that while Access is fantastic for rapid-prototyping applications/warehouses/ETL processes, any "permanent" DB/DBMS/solution worth doing in Access is worth doing in a 'proper' database with a proper front-end.

1h agoHN ↗

That seems to be missing an actual database. Access has everything included. Run Access.exe and away you go. This looks way more complicated.

1h agoHN ↗

In the mid-2000's, I built a lot of applications replacing Access. I always met with the actual users of the system, and made sure they understood that once I took over development, they weren't going to be able to build out their own forms anymore. A few clients were turned away, but most could live with paying for myself to make any future edits, so that they could concentrate on the business objective rather than coding in Access. I never really had the same success with replacing Excel, except for a few systems where it needed to be true multi-user.

51m agoHN ↗

So glad to see Filemaker is still alive! I had thought it had gone in one of Apple's software culls years ago.

1h agoHN ↗

Our high school taught FOXBASE and I immediately fell for it. I didn’t make anything real with it, though, but it was my first official language and I dreamed big back then.

1h agoHN ↗

An IDE, form designer, language, runtime, and database engine.

People used it to write business applications. Like Microsoft Access, or Visual Basic.

It started as a competitor to dBase II/III called FoxBase, and then Microsoft bought it.

1h agoHN ↗

a database program, IIRC it was a program not by microsoft but MS bought it and killed it off

57m agoHN ↗

It was boxed software that, when going to a computer/office store as a child in the mid-1990s, you wanted your parents to buy because it had a fox on the cover and in the name without actually knowing what it did.

Simply speaking from experience.

1h agoHN ↗

Hahahah this is too funny 8)

I wished almost it was terminal based

1h agoHN ↗

Hey, I got to mention this recently! One of my bizarre claims to fame was writing this little tool[0] a few employers back to convert Visual FoxPro database files to PostgreSQL as part of a migration. For a while we had to run it as a cron job so that people could to data entry in an old VFP app but others could run fast reports on our web app with a postgres backend. It wasn't pretty, but it worked great and helped us get off that ancient stack.

[0]https://github.com/kstrauser/pgdbf

1h agoHN ↗

Give the fact this project sprung out of nowhere an hour ago, has one commit and no obvious history beyond that - I must ask, was this vibe-coded?

1h agoHN ↗

Obviously they used AI at some point in the project, the question to you is what is your definition of vibe coding and how does it discredit the effort they did put into it?

1h agoHN ↗

One benchmark would be: would someone with a legacy FoxPro LOB app be entrusting their data to this? Or is it just a nice "wow, that's a cool project"?

1h agoHN ↗

Probably. The website does look too good though, none of the design cruft ("eyebrows") that LLMs like. But the last design I let it do was from opus 4.7 or gpt 5.3.

1h agoHN ↗

It does look very LLM-y to me, the copy certainly is.

1h agoHN ↗

The website at least. Just look for the word "not". LLMs love writing things like "it's not ice cream, is pasta", "you get a full dog, not a cat".

54m agoHN ↗

"Every picture is a real session."

Dead giveaway.

1h agoHN ↗

There's a continuum between vibe coded and directed LLM, I guess we'll see which it is.

19m agoHN ↗

The website is obviously and gratingly LLM-voiced. I don't know how people aren't tired of paragraphs like this yet:

"Visual FoxPro is a 32-bit program, and that decides more than it appears to. It is why a table stops at two gigabytes, why a memo file stops at two gigabytes, and why a big report runs out of memory on a machine with plenty to spare. The limits are signed 32-bit numbers buried in the file handling, not a licensing decision anybody made."

and

"The editor checks what you type through that very compiler, so what it underlines and what the runtime refuses cannot drift apart."

Like, what? Who talks like that?

1h agoHN ↗

I worked with a physician's office in 2006, and the lead physician had cobbled together a system for patient tracking using Visual FoxPro. It was a monstrosity, and using it over a network drive gave all sorts of file locks and issues with multiple people changing the same record (usually the physician and front of house staff when checking the patient out).

I finally got the physician to switch to a proper client/server architecture using .NET WinForms and ASP.NET RPC calls. All issues went away, and I was even able to allow staff members to edit the interface to set what mattered to them most at the top of the application, by building the lab testing form in XML so they could move the X/Y coordinates to where they wanted them. It wasn't even a feature I had thought of, just a physician looking through the technology and figuring out how it worked (luckily the business and security logic were on the server, so a bad actor could only have destroyed their own local copy of the app).

1h agoHN ↗

One fear I saw manifest in a job was before AI, and an associate was doing a screen for a request in dot net and it let the user read the record, edit the record and write the record. Last person to write the record won of course.

At this tier of small time company IT, I am hoping that AI will actually improve the quality of code, because people who write racey nolock code that occasionally "drops a few records" are probably hopefully not posting their code to forums or alternatively getting roasted to pieces if they do so its my hope they are only represented in training data as "what not to do."

1h agoHN ↗

DBase/Fox Pro were born when local networks weren't common, it excelled as a single-user batteries-included IDE. Now that you mention this, I understand why it couldn't work these days as it is.

I also think it won't be that hard to make it multiuser, that's a long-ago solved problem these days.

47m agoHN ↗

It wasn’t that hard to make it multiuser back on the day, either. But as OP discovered, FoxPro also made it very easy to write shit multiuser code. Pessimistic/optimistic locking, etc.? It was in there, but you had to use it.

16m agoHN ↗

When networked PCs and rapid application development platforms became popular there was a "Cambrian explosion" of custom electronic health record and practice management applications built by doctor hackers who knew exactly what they wanted, and had just barely enough technical skill to sort of make it partially work. Those have gradually died off because commercial products kept improving, and the cost of complying with security and interoperability requirements kept escalating. But I predict that the cycle will now repeat that the combination of AI coding tools plus headless EHR platforms has made it easier to build a custom EHR that actually works.

1h agoHN ↗

I learned SQL with FoxPro on the Mac in the 90s. It was a great app.

50m agoHN ↗

Microsoft might have killed FoxPro but even in windows 11 they still have the icon for it in moricons.dll where it will live presumably forever in every version of windows Microsoft ever releases.

50m agoHN ↗

Here’s my problem with reviving FoxPro in any form: there’s a huge security hole in the Database Container (DBC) design. For DBCs to be useful, they must be read/write to all users (there is no permissions scheme). DBCs have stored procedures that can run any FoxPro code, including Win32 calls made from the FoxPro runtime. The stored procedures are stored as plain text in a “memo” field. Do you see where this is going? With a little technical knowledge, one can modify that INSERT trigger to whatever you like.

My recommendation is to get rid of the DBF/DBC files and move to a SQL DB of some flavor ASAP. If you have the source code, use ODBC or OLE DB to point to a server.

Source: filed that bug over 20 years ago when I worked on the Fox team. No, it wasn’t going to get fixed without rewriting large parts of how the DB engine worked.

46m agoHN ↗

Maybe someone can put the core FoxPro ideas on top of SQLite

29m agoHN ↗

If it isn't client / server architecture there's no privilege separation using SQLite either. It isn't the storage format that's the issue. It's that it all runs in the same OS security context.

30m agoHN ↗

One of the "certified" (wrong terminology) Board of Elections voter registration databases for Ohio is written in VFP and has TOTP 'MFA' to comply with a Secretary of State mandate.

You can just open the database files directly.

I hang my head.

29m agoHN ↗

Thanks, this is the most useful comment here. FoxDev reads the DBC the same way VFP does, so today it inherits the hole exactly. The runtime is actually the one place it can be fixed. I would put in a hash of the stored procedure text into the built executable and refuse to run a container whose procs don't match. Adding it to the list. Would you mind if I quoted your comment in the issue?

27m agoHN ↗

Ugh. My first job was rewriting foxpro. Bad memories.

18m agoHN ↗

Flashback. When I was an adolescent, the dBase and Fox products were my first paid software development, and they were surprisingly accessible to even kids.

I was only supposed to help assemble computer furniture, and maybe install networked Unix and PC software, but the retired Marine my mom worked for thought I had potential. "Hey, Kid", he would say, we need to modify this dBase vehicle fleet insurance database to support more vehicles; figure it out. Here's the manuals for C database library, and Microsoft C, I'm evaluating; figure it out. We need to migrate between accounting systems; here's a sample .DBF of the target schema, here's how you generate a full dump from the legacy minicomputer, use this editor called Emacs to clean up the dump for import, once you figure out the schema mapping; figure it out. I also bought an older dBase product, and then a Fox product, for home, and figured out how to build a few fancier systems.

(Then I kept working, and there was a period when all employers either wanted me to figure out something, or were favorably surprised when I soon did, thanks to formative influences of figure-it-out mentors. Then a break to get belated formal degrees, then being surprised after that pause, when job interviews were suddenly Leetcode-like, and they didn't seem to want me to figure it out, but wanted a rehearsed ritual performance conforming to a big-corporate sanctioned set of rules, and apparently the Marine hadn't written a book to counterbalance that awful green book. :) )

8m agoHN ↗

Why does every AI written project website make it sound like it's going to kill all your enemies for you and get you all "the bitches"? This is true power. Unforseen by human eyes thus far. Your manager will tremble in fear.

2m agoHN ↗

We run 500 KLOC of FoxPro at my company, daily. It is the engine that fuels a $500M business.

I hate that it's the hand I'm dealt, but aside from AI rewrites (underway), there's no good answer. It's complicated by our reliance on DBFs.

I welcome efforts like foxscript and anything else in this space. There are still a significant number of FoxPro apps out there and no one has a good answer. If you are struggling in this space, leave a comment here. I'll reach out to you. Strength in numbers...