Having come from WPF with dotnet, XAML/WPF used to feel clunky and dated.
However, web front-end feels very chaotic by comparison. I’m still no expert, but my big gotchas are always div sizes ie min-max-fr height/width.
With WPF you can size Grids as auto or “*” and things size dynamically - I’ve grown to appreciate the WPF Grid and data binding.
It also doesn’t help that I find trial-and-error more helpful than css/html docs. The docs often feel tautological to me for some reason and it feels like there’s too many ways to achieve the same thing. I definitely recognize this personal experience - YMMV
Very cool project and nice work! While I'm not very experienced with graphics rendering, I use a lot of computational geometry for work. I also implemented the Diamond-Square algorithm in matlab to generate randomized landscape terrains for a grad school project. Combining my generator with this rendering algorithm would be pretty fun to create and explore digital landscapes!
As someone who used Revit for 5 years before moving to develop and maintain custom Revit API apps full-time, I have many horror stories I could share (feel free to AMA). I can say that the latest version of Revit (R2025) is largely a single-threaded application, and has only just upgraded their back-end from .Net Framework 4.8.1 to .Net8.0. The company continuously and openly takes breathtakingly blatant advantage of their user base and is at worst adversarial to their users. The software captures and exchanges a surprising amount of data during usage (to the point that Revit itself is hard to distinguish between malware by network cybersec software). Autodesk is a walking-talking timebomb of an antitrust suit waiting to happen. With that said, Revit does a lot of things well and there are no realistic alternatives. Personally, I have always found community responses on forums very helpful while autodesk support has ranged from helpful, to useless, to simultaneously counter-productive and insulting. Jeremy Tammik (officially affiliated with Autodesk these days) and his “The Building Coder Blog” is a very nice reference for Revit API and he is somehow EVERYWHERE on the forums.
edit: the open letter posted here by another user does a very good job detailing many broad issues (with Revit in particular); every point it makes is accurate in my experience.
As a follow-up, it is always sad to see large volumes of community-driven content deleted especially when the motives are likely for selfish or nefarious purposes. Being somewhat familiar with the latest releases, Autodesk has been pushing their cloud services (Forge, or whatever they’re calling it this month) and AI. They are probably deleting the content after having fine-tuned an LLM on it and patting themselves on the back for a job well done.
> With that said, Revit does a lot of things well and there are no realistic alternatives.
Vectorworks? Archicad? I'm really only familiar with the former, full disclosure I used to work at Vectorworks, and we certainly considered ourselves a competitor to Revit.
Ok - definitely fair. While I HAVE heard of VW and ArchiCAD, (I suppose I might toss Bently into the mix as well) I don’t have extensive knowledge of these programs. Therefore, take my opinion as just that. However, from my understanding, those others focus more heavily on a CAD-like environment (SketchUp is another common one here) as opposed to “BIM” (where I would define BIM as essentially a database driven type of CAD with OOP bolted on). So in that sense they are certainly suitable for drafting and may compete for the same market share, but are fundamentally different. My use case was from the perspective from an ElecEngineering team operating within an AE firm in the US. I also understand ArchiCAD is more popular outside of the US.
Also I suppose this is part of the issue with “software alternatives” I find most architects by-and-large extremely _discerning_ people, composing an industry where nuance is king. In that sense if the software doesn’t do “exactly what I want, exactly how I want to do it” then it’s tossed aside as “not viable”. This is, in my view, another thing Revit does “well” - it is incredibly opinionated. For better or worse it means if you fight its intended workflow, achieving what you want is difficult or impossible.
On another note, care to share your experience at VW? I’m interested to hear anything you’re willing/able to share about your time there! I know someone on the NXOpen team who has spoken highly of that team/product.
I quite enjoyed my experience at VW! It was (and probably still is) a wonderful place to work. I have frankly never been more productive in my career. My team (and I got the impression that this was also the case for most teams) was very hands-off, just let people work. The employees are grown ups, so if they need to collaborate they can do so in an ad-hoc fashion instead of forcing them to do agile rituals. For most of my time there, I had exactly one scheduled meeting a week, you could call it weekly stand-up, and a lot of ad-hoc collaboration with my teammates.
For people like me, who don't need and frankly chafe against the added structure of most agile methodologies, VW was amazing. I could just put on my headphones and code, and that's pretty much all I ever wanted. I ended up leaving because as much as I loved the workplace, I have pretty much 0 interest in the actual product. CAD is cool, and I like working on professional tools, but I have no interest whatsoever in architecture and design. I still wonder, though, if leaving VW was a mistake. If I ever find myself living in the DC metro, I will certainly reapply.
Wow, sounds awesome! What types of projects did you work on for the platform/product? Since I’ve become very familiar with Revit’s API (and its shortcomings) I often wonder if I should consider a role on the actual Revit dev team helping to improve the actual product itself, but I have never contributed to anything like it. What industry did you land in?
I ended up working mostly on features that architects could use to present projects. Stuff like renders and walkthrough animations of the building.
I've moved from CAD to computer-aided engineering. I work on the backend of a compiler for a DSL for control system engineering. My niche is definitely professional tools programming. I'm quite happy where I am right now, but if something ever happened with this job, my preference would be to pivot to another professional tool. I've always thought something like a DAW or 3D modeling software would be fun to work on.
I see this as the crux of most issues in modern American politics - that is, the primary elections… they act a feedback loop galvanizing each party. i.e. the fact that you can’t become “the repub/dem candidate” unless you represent the party’s values to the most extreme extent means the selection of a moderate candidate becomes increasingly unlikely with time.
When I started my MS in 2018, my focus and interests were in complex systems and computer vision. I remember back then being more interested in Hinton’s capsule nets when the paper “attention is all you need” was new. I am looking forward to when this LLM fever passes. The most interesting thing to come from all of this is IMO, the semi-recent uses of RAG and vector search. More recently, having had some exposure to a CS undergrad group of ~120 seniors, anxiety and frustration (related to the job market) were exactly how I would have described the zeitgeist as well… as another post mentioned, I suppose this is all part and parcel of software engineering - and now applications of machine learning (and PhD degrees in any/all fields for that matter) - increasingly becoming ever more commoditized. Such is life in a world of capitalism I guess?
While I haven’t worked at “the big guys”, I don’t find the statement false at face value. Rather (as you point out) perhaps a bit over simplified. Furthermore, it might be better to say “fair markets demonstrating healthy competition encourage efficiency.” But even in skewed markets, i.e. those with monopolies or heavily entrenched participants, the big guys may have inefficient operations scattered throughout, but can utilize their size to distribute those inefficiencies across other areas where they have above average efficiency. (Orgs like Amazon have perfected this practice). However, I’d argue the original quote is still true at face value, if the net sum of all your practices is in the red (financially) then the company can’t survive forever (although the company decay time-scale may seem long WRT one’s perspective).
It is a gambling term, most VC funded startups are gambles, AI ones particularly so, it felt apt.
perhaps it correlates to a raise in investing that no longer is based on sound fundamentals in both traditional and new age assets(like crypto) perhaps makes people identify more with gambling.
I was neither criticizing your comment nor choice of words - I actually agree with both. Was just curious about the phrase. Your guess seems like a good one!
Nice article OP. I and a great many others suffer from the same struggles of bringing personal projects to “completion”, and I’ve gotta respect the resilience in the length of time you hung in there.
However, not to be overly pedantic, but I always felt “data science” was an exploratory exercise to discover insights into a given data set. I always personally filed the efforts to create the pipeline and associated automation (i.e. identify, capture, and store a given data set - more commonly referred to as “ETL”) as a “data engineering” task, which these days is considered a different specialty.
Perhaps if you scope your problem a little smaller, you may yet be able to capture something demonstrably valuable to others (and something you might consider “finished”). You’d be surprised how simple something that addresses a real issue can be to be able to provide real value for others.