I really enjoyed the article! Generators have been around for maybe half a decade already but I never see them used. I am able to follow the article but have never seen an example at even small scale. All of the complexity for my software is still there in some form or other. I can have 100 classes it seems or 1000 functions and I really really struggle with breaking away from the imperative viewpoint. Especially when you have a small team consisting of seniors to juniors. I do love the pattern but no one else does. Why does it feel this way?
Honestly, part of me wants to agree with you whole heartedly but I don't think I can. I started off saying that things like Crack, Nicotine, Alcohol... consumables are addictions. Then what about gambling though... it's not really a physical consumable. Also I have been short-term-addicted to some games, or wanted to binge watch a series, or finish a book despite knowing I have work tomorrow.
As someone who used to smoke, I can't believe that anything is as difficult as stopping smoking, but then Heroin Addicts enter the chat. So whereas to me, it seems incredible that people are addicted to content, it doesn't mean that how they feel about said content doesn't constitute a problem and where that lies on the scale for an individual is impossible to quantify from my narrow viewpoint and experience.
Could you provide why not? I have a utility library (Project A) and whilst messing around with TurboRepo, I noticed I could point to the source files in my package. I haven't progressed down that route, but something about it seemed nice.
So in other words, if Project B depends on Project A, either I could build Project A and then build Project B or I could just build Project B (which consumes Project A as a typescript package).
Kinda confusingly written but I would love to know why that is an issue.
One thing that comes to mind is different TypeScript versions.
JS has ES6 and ES2020 etc and that’s enough to deal with, Typescript is younger and has been moving faster, compatibility might be difficult around the edges.
Longer term I agree with you though, I’d much rather see TS source than JS plus types when I’m looking at the source code of a module.
I don’t know why you’re being downvoted, my experience has been that minor version TS releases usually create a cascade of hundreds of type check failures even though the syntax itself is backwards-compatible.
It would be impossible for a project pulling TS sources directly to achieve stability (or even compile all dependencies with a single version of TypeScript in the first place).
In Deno with JSR, only the public API gets used for type checking because publishing enforces that the public API can be determined without type inference. So it's similar to declaration files (d.ts files) and you wouldn't see errors that occur at the non-declaration level unless someone explicitly opted out of those publishing checks (which is heavily discouraged).
I tried to do exactly what you say last week but I couldn't get it to work. The turborepo documentation seems to indicate its possible with the whole concept of "internal packages" but it all depends on the compilation step of Project B being configured to compile and bundle workspace dependencies, and a simple "tsc" wasn't doing it for me regardless of the different tsconfig settings I tried.
I made a private repo who's package JSON was `private: true`, `type: module` and `main: src/index.ts` and `module: src/index.ts`. I didn't progress down that route as stated, but I was able to consume that package. Maybe none of what I said here mattered in which case the only other thing that may make a difference was that I was using pnpm for the first time with workspaces.
I remember a few years ago that Microsoft docs started to point to Mozilla docs, maybe part of Edge rebrand? Perhaps renaming to MDN during this agreement could leave someone like "huh is it M(ozilla)DN or M(icrosoft)DN??". I have no clue.
This is the point in the discussion where I'll point out that .NET started out as ".NET Passport", e.g, what people now think of as a Microsoft Account.
See also Apple, who, after a relatively brief dalliance with the name iTools, rebranded its online service as ".mac".
Sigh...
I miss early Internet names like these, although I suppose the fact that the original dot com era didn't last and a bunch of early startups got wiped out - Pets.com, anyone? - gave it a stench that marketers were all too willing to run away from at the first possible opportunity.
What's the surprise about documentation being open source? The overwhelming majority of the source is going to consist of the text of the documentation, which is open anyway.
Your information is a little out of date, Microsoft Docs became part of Microsoft Learn, so MSDN is actually now Microsoft Learn, or part of it at least.
It's a Unity game. Why are people genuinely surprised that performance is absolute garbage? Both CS2 and KSP2 (kerbal) REQUIRE incredibly specific tuning that unity simply does not offer. The latter being rigid bodies at scale (which is semi impossible with a dedicated engine) and the former being "almost-factorio-level" low level cell processing. The graphics of both are second tier to that.
This is a tangent, but I think using the acronym CS2 is really confusing because now there's Counter Strike 2, which is a lot more popular than Cities Skyline 2.
the person mentioned other games in the post about unity. while we know counter-strike is not built on unity, it would be confusing for those who just know surface-level about those games.
Do you have any credibility to make this claim? I'm an actual game dev who has shipped lots of stuff in unity. Ive never worked on a AAA game but I'm pretty sure I could improve the performance in this game if given the time.
>Ive never worked on a AAA game but I'm pretty sure I could improve the performance in this game if given the time.
That's the neat part, I'm an actual game dev and I know you're never "given the time". I'm sure the talent here could and will fix many of these issues, but at the end of the day publishers want to ship something (especially in this economy).
Plenty of Unity games exist with acceptable performance. Hell, City Skylines 1 also used Unity and the performance only got bad with big cities, not new cities.
It's also odd to call out Unity as the issue when talking about CS:2 and KSP2, when both of their predecessors also used Unity and run better.
Only because you're reading the damning into it. Acceptable isn't a euphemism for bad, I just reserve "great" for things that are, well, great. Like Factorio level's of optimization (Even though that game is capped at 60fps). 100+ fps with 7 year old hardware is perfectly adequate in my book. Skimming some popular games that use Unity and run fine: Rimworld, Outer Wilds, Gunfire Reborn, Enter The Gundeon, Risk of Rain 2, Hollow Knight. I see some more, but I haven't personally played or watch someone play them so I hesitate to list them.
Humankind the Civ rip-off game made with Unity is unplayable. I bought it hoping it would be kinda like Cities Skylines 1 was to Civ IV, but I've never been able to finish a campaign. I either get frustrated with the performance and quit or the game runs out of memory and crashes. Steam won't give me a refund because I played too many hours. But it is a freaking simulation game, 2 hours is absolutely nothing on a decent sim. This is also how I learned about the 2 hour limit for refunds.
Unfortunately, I keep installing it every so often to see if anything has been fixed and nothing has been fixed. I've complete given up now. It was a waste of money and an even bigger waste of time.
That's probably because the game is made with a Unity Personal license, for small or cheap studios only. With other licenses the splash can be disabled.
One of the best games ever made, Outer Wilds, was done in Unity. Dyson Sphere Program is an excellent factorio style game that's very well optimized. I do not share your same trepidation on seeing the logo (doesn't move me in any direction, both some of the best and some truly awful games have been made with it).
Usually that hesitance is because a lot of amatuer stuff has been made using Unity. But when in the right hands, it can feel like it is its own thing but it is easy to be hesitant after shoveling through so much trash.
Yeah, because it means the devs don't have a few thousand in the budget to support removing the logo, so of course they don't have the money to pay people to performance tune the game.
Loved the article. My beef is debugging IOS Safari. It's so tragic that it's The Next IE™ but I can't debug it without a mac. There has always been ways to do it, but talk about jumping through hoops to see a debug window.
In this case they're shooting themselves in the foot. By requiring potential developers to own a Mac, they sharply limit their developer audience. Thus, fewer apps being made for their platform, thus fewer apps to drive using the platform, thus fewer sales of their precious hardware.
They showed time and again that they don't want a too-wide developer audience. They already have too many apps, and see the choice fatigue in users. They want big companies professionally produce polished stuff that commands, say, $14.99 in app store, of which $5 is Apple's share. They want stuff like Beatmaker or ProCreate.
Small fry need not apply; if they insist, they should at least clear the threshold of owning a Mac and paying $100/year for the App Store license.
The real world runs on Linux (from servers, data centers, microcontrollers, ...), business runs on Microsoft/Office, and creative makers (from designers to OSS creators) do it on a Mac.
Of course not 100% true but wherever I look its like >50% true at least.
Not to mention being the most valuable company in the world, sitting on _not_ the majority of users _but_ the majority of user revenue/wallet sizes, and having more cash to spend at hand than nearly every other company in the world has in total revenue, to the point of surpassing small/medium countries' GDP.
So far, "shooting themselves in the foot" I would not 100% agree with. And depending who you're asking, the Mac is the #1 platform, and is even growing since M1 chip releases.
They've been at it for over 40 years and grew to the most valuable company in the world. In many computer fields they still are THE platform (anything design for example) so clearly the software they do have is plenty.
Can you elaborate what you mean by shooting themselves in the foot?
Do you see them as a centipede who sacrificed one foot in exchange for all the riches in the world?
Or do you mean that if they were more open to developers they'd somehow be even bigger? What's bigger than a trillion dollar company? Would they be intergalactic?
Because they haven't achieved any serious success with the Mac. If they didn't have their portable device line they would be a bit player in the tech industry.
Not really. I'm a long time Apple user. Started using macOS with the version 9 (but my first personal laptop ran OS X).
I don't consider them successful in computing. In fact my first job was at an Apple Service Provider and it was already hard to run everything useful on Macs. Now I wonder how much technology is actually actually running on Macs. Their computers are becoming glorified clients for other companies technologies.
They make make a ton of money selling a lot of small devices that are more about fashion / social statut than technology relevance nowadays.
As it is there isn't a whole lot of good reasons to start using a mac instead of anything else.
I don't think they are currently successful in the computer business. Them making shiton of money on overpriced mobile fashion doesn't really change that.
I saw a message on here but you can actually run the latest Safari on Windows. I had to search a bit but yes in the end I got it working. Basically the latest webkit can still be used in a rudimentary browser.
Airbnb was so good and I don't want to mention the year because I will get it wrong. I went with my friend that year for literally hardly any money and we seen 8 European countries. It wasn't just Airbnb but Wimdu (We are UK).
In the space of a year, prices doubled, and then there was fees not included in the price so when I accepted those prices and fees and went to book, there was more fees under the "checkout" section.
That might have been 7 years ago when good quality hotels were parity to the final price. Obviously I haven't been back on any of these since but it was definitely amazing at one point.
I don't know him but I feel he is a bit tongue-in-cheek with humour. As far as I remember, he did comedy and was also good with education with kids. I don't imagine meeting him and him coming across as full of himself though. I feel I could approach him in a pub and he would have good banter.
Code review generally requires a peer to do the reviewing, so most folks would likely say that doesn’t count. I was curious if it would, but the first couple pages of googled results confirm the peer aspect.
That's certainly better than reviewing your own code, but tossing your code into a merge request to run tests and then taking another look over it tomorrow if it's all green is still better than just pushing straight to prod because there's not another pair of eyes.
That seems almost ridiculous? You commit code that you wrote and then Code Review your commit and then verify it? Doesn't that happen as part of the original commit by common sense?
But you wouldn't commit that as there are multiple tools to review a commit before you literally stamp your name on that commit? Otherwise you are generating noise for your teammates.
In practice, reviewing your own code in a different context really makes a difference, at least for me. Not sure why, but I always notice things I wouldn't before. The same effects holds true even for regular text - as much as I try, proofreading my writing in editor yields subpar results compared to reading a submitted message, I simply fail to notice even the most blatant mistakes. I wonder if this effect has a name.
My take: if you submit code without the approval of your peers, and that code causes a noticeable issue in production… well, everyone will think “if only they have added me as a reviewer we wouldn’t have this issue!”. Sure thing, the bug could still exists in prod even after peer review, but then at least that would have meant that the bug wasn’t easily discoverable (i.e., the author and the reviewers missed it).
If you think you’re smart enough to submit code without bugs and without peer review, that’s fine. Take into account that your peers may not think you are that smart if you do that. Software engineering is mostly about dealing with people (well, almost everything in this world is about that).
Obviously if there’s no one to review your code, you may as well go ahead and push it without approval (unless your company has policies against that).