Hacker News new | past | comments | ask | show | jobs | submit | AdrianRossouw's comments login

i still think osx killing opengl support is ridiculous.


Swift and Objective-C API with C++14 shaders vs plain old C API and manually compilation of shaders?

Obvious choice, plus all engines that matter already support Metal.

Same situation on PS4, XBox and UWP.


There is nothing wrong with saying something new could be better but is Metal actually so much better than Vulkan to be the only supported API?


Metal isn't new, it's older than Vulkan, and by some metrics I would consider it better.

For one, the learning curve is much smoother: you can get something up on screen quickly, but only later discover the advanced features like argument buffers, manual hazard tracking, etc.


We are talking 4 years old (3 for desktop) years old vs 2 years old, you're kidding yourself if you think either is established by virtue of being old vs new. That comparison was only fair with OpenGl.


Sure! I'm just pointing out that your earlier statement was off the mark, and it posed Metal as "something new that could be better than Vulkan".


The fact that Vulkan is a C API and requires searching for extensions even for a plain 3D Hello World, makes Metal a better option on the Mac.


Erm, not really. I have implemented a reasonably serious PBR renderer in Vulkan on Mac on top of MoltenVK, and the C API is not at all an obstacle. Swift/C interop is fairly straightforward, and Objective C is a superset of C so that is a total non-issue.

The ability to easily integrate the wealth of C libraries directly into your high-level code (as opposed to, say, the verbosity of implementing a JNI) is one of the strengths of Swift.


C is an obstacle to safe and modern IT stacks.


Why are you using graphics engines in your IT stack?


I guess because I am not using a VT 100 terminal, rather a desktop computer using a GPU to provide a nice modern user experience.

The biggest theme on Linux Security Summit 2018 was taming security exploits on Linux kernel due to C's lack of security.

I count at least 10 talks about this subject.

https://www.youtube.com/user/TheLinuxFoundation/videos

So apparently the review process, approvals and current static validation is still not enough.


> C++14 shaders

What's a C++14 shader? Metal uses MSL last time I checked...

> manually compilation of shaders

The toolchain for this in Vulkan is pretty solid. It's actually nice to be able to write shaders in a high-level language, and then compile them down to SPIR-V which is more likely to be interpreted consistently across drivers than a high-level language.


So apparently you missed the fact that MSL is based on C++14.

https://developer.apple.com/documentation/metal/hello_triang...


It is. Also not supporting Vulkan natively is a mistake.


Yes but there's nothing surprising about the Walled Garden Company promoting their own snowflake version of Vulkan and insisting everyone who wants to run software must do things their way. This is the same company who has totally locked down the tooling to create and publish iOS apps to only be possible on their hardware.


To be fair, Metal is more than a "snowflake version of Vulkan". For one thing, it was in production before vulkan, largely to address the issue of OpenGL's overhead on mobile devices, and basically it achieves that goal. Also there are certain things which are exposed in Metal which are not in Vulkan, for instance more control over the tile memory which mobile GPUs use. So it's not as if there is no reason for Metal to exist (of course I would be happier if Apple contributed to Khronos to get those features in Vulkan instead).

But the walled garden approach seems counterproductive here. In the days of Microsoft's dominance Apple made an effort to make windows formats usable on Apple because that meant it would be easier for consumers to switch to Apple without worrying about losing all their stuff from Windows. With regard to applications in which graphics API's are relevant (i.e. games) Apple still has a minuscule market-share, and it seems like they would be well served by adopting the dominant technology. Lock-in only works if you're already winning.


Some devs are so obsessed complaining about Metal that most aren't aware that UWP and Windows Store are DirectX only.

An advantage of all proprietary 3D APIs is the amount of out-of-box infrastructure code, debugging tools and having progressed beyond C, while Khronos APIs are still mostly C, and requiring creating mini-engine from scratch after fishing for libs.


> having progressed beyond C

I don't really see the issue with C APIs. IMO C is a fantastic integration point for a library which wants to have the widest reach possible. Interoperability with C is a solved problem in a wide variety of languages, so C APIs tend to be easy to integrate. Also since C is a fairly thin abstraction on top of what a computer actually does, good C APIs tend not to be opinionated about how they should be integrated.

I would consider working with C APIs to be a basic programming skill.


I see a big one.

https://www.hpe.com/us/en/insights/articles/making-c-less-da...

Plus it is about time to move from 70s style APIs.


> With regard to applications in which graphics API's are relevant (i.e. games) Apple still has a minuscule market-share, and it seems like they would be well served by adopting the dominant technology. Lock-in only works if you're already winning.

Except Metal is the dominant API on almost all Apple platforms. Metal supported-iOS devices are at 700 million (last year's WWDC stat) and majority of games are using Metal on iOS. You can't ignore that market, iOS games are very profitable.

Fortnite made $3M in sales in the first three days on iOS: https://www.tweaktown.com/news/61266/fortnite-mobile-makes-1...


Well as you say, Metal is really for iOS. And I think the evidence points to Apple caring much more about iOS than the Mac. So it makes sense from that perspective.


And not only do you need a Mac to write iOS apps, you need to pay them $100/yr to run the apps on anything other than your own devices.

And even on your own devices, you need to reinstall every few (days? weeks?) because the certificate expired.


That is peanuts compared with games consoles and you don't see game studios crying, on the contrary, they prefer that model to desktop computers.


I use this one for my 40" 4k monitor, and it works great : https://www.amazon.com/gp/product/B01BSNSOPU/


That's the second endorsement of an IOGEAR DisplayPort solution I've seen so far. The full product line is here: https://www.iogear.com/solutions/kvm

$480 to solve the dual head 4K DisplayPort problem, and it works, apparently.

Now, is that a reasonable price? I have to say I think so. This is not a trivial problem and this equipment isn't being manufactured by a dozen companies and flying off Best Buy shelves. Given the low demand and difficult requirements I think the price is reasonable. If your use case involves smoothly switching between 2-4 high resolution dual head systems $480-$680 probably amounts to something in the range of 5-20% of the cost of the entire system.

I don't buy the argument that this cost makes such a KVM pointless because one can simply buy more display(s) and input devices instead: that takes a lot of space and results in a lot of underutilized hardware.


Oh boy, the price! The article is lamenting the expense of 'modern' KVM switches.

For reference, a switch with 'legacy' USB 2.0/VGA connectors that powers my ageing home PCs is this model:

https://www.ebay.com.au/itm/All-in-one-Mini-2-Ports-KVM-Manu...


also open sourced their server implementation... and the interface is so very nice.

I've had some of the best voice / video calls yet with it too.


The two most interesting companies in crypto for me right now are KeyBase, and Wire. I kind of wish there was some way for them to interact with each other, because it feels like they each have a piece of some bigger puzzle.


Are you not concerned with the data Wire collects?

https://news.ycombinator.com/item?id=14069674

Versus the data Signal collects:

https://signal.org/bigbrother/eastern-virginia-grand-jury/

Although I agree Wire looks like a much more (visually) polished chat service, it seems like they (Wire) collect more data than is necessary.


Wire has open sourced it's server code (gplv3 even) and is working on federation support :

https://medium.com/@wireapp/wire-server-code-now-100-open-so...

So you can run your own copy of it, and be in complete control of any information it collects.


That seems really exciting. When that occurs I will most likely switch over. Unfortunately you can't quite host it your self yet: https://github.com/wireapp/wire-server/issues/2


part of the point of jekyll to me is being in control of all the markup on the page, which is why the idea of using a theme goes against how I would use it.


I really liked this article for this kind of thing :

https://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis


We've been exploring openshift and minishift for a project for the last few weeks, and we've come back very impressed.

We especially like the interface they built that ties everything together.




I would but honestly, there are far more important things that need their effort. t61 requires a bit of work to actually get the music. youtube-dl supports it, but only one at a time.


I ran a large online community with tens of thousands of users that existed for nearly 19 years. When it came time to close it down, I left a notice on the site for several months before i made it read only...

then the helpful guys at archive team[1] helped me create a complete archive of the site on archive.org with their irc bot.

once that was complete, i replaced the site with a notice and linked to the archives from there.

As an aside, one of the old domains that we used for a while lapsed at some point, and some spammer put up a copy of the pages from the internet archives with ads injected into the content. That eventually went to an SEO landing page a few months later.

[1] http://www.archiveteam.org/index.php?title=Main_Page


For those that don't know, Archive Team and Internet Archive are two different groups (though with an overlapping membership).

Internet Archive are a non-profit org that are legally held to high standards, as they should be. They're a very stable place to have data archived. That comes with a few limitations, like not making information available if there's any (even accidental) indication that the upstream site want it kept private - see the comments about robots.txt in tfa.

Archive Team, on the other hand, are a fairly fun and radical group that are far more loosely organised, who will archive what they can when it's needed, and horde it. Fuck your robots.txt![1]

If you can get involved in either organisation, it's highly recommended. They both have interesting challenges and solve them with neat tools.

[1] http://www.archiveteam.org/index.php?title=Robots.txt


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

Search: