7 ms·
> writing a full OS in Java IMAO, Android kind of achieve that...kind of. They write lots of OS logics in Java (or Kotlin) but mixing lots of system services w
by mshockwave 3y ago
> writing a full OS in Java
IMAO, Android kind of achieve that...kind of. They write lots of OS logics in Java (or Kotlin) but mixing lots of system services written in native code at the same time, interconnected by the famous (or infamous?) Bind IPC.
- tgtweak 3y agoEmbedded JVM is actually huge/pervasive and runs things as benign as the chip on your credit card.
- locusofself 3y agoAfter reading your comment I was surprised to find out that credit card chips have any processing capabilities whatsoever, which they apparently do, though at least according to gpt4, they are far too basic to run java/jvm. ?
- tjlingham 3y agoIt feels like that should be true, I get it. However Java Card is very real. https://en.m.wikipedia.org/wiki/Java_Card https://en.m.wikipedia.org/wiki/Java_Card
- _7tgr 3y agoGoogle appears to be significantly more useful than GPT-4 here. [1] is the third result for me for the query "credit card jvm". [2] is the second result and gives a direct (and more importantly, actually correct) answer. That post links to the Oracle documentation for Java Cards [3] which is the fourth result. [1] https://en.m.wikipedia.org/wiki/Java_Card https://en.m.wikipedia.org/wiki/Java_Card [2] https://superuser.com/questions/362567/are-there-any-credit-cards-that-run-java https://superuser.com/questions/362567/are-there-any-credit-... [3] https://www.oracle.com/java/java-card/ https://www.oracle.com/java/java-card/ All of this is just as easy as, if not easier than, using ChatGPT. It's unclear that such a tool even serves this purpose (retrieval of basic facts) adequately, so it should probably be avoided in the future.
- locusofself 3y agoFair enough, there is a "Java Card". I'm not convinved that Java is running on any of my or your credit cards in your wallet today, though I'm not willing to bet on it.
- _7tgr 3y agoThis lists a few things using Java Cards (likely stuff that's in your wallet, surprisingly): https://stackoverflow.com/questions/47731005/practical-use-of-java-cards https://stackoverflow.com/questions/47731005/practical-use-o... (fwiw I have a bit of prior experience here)
- locusofself 3y agoThat's pretty neat. It sounds like Java Card (or at least some other cards) actually "boot up" by way of inductive coupling, ie, via the "contactless" card readers where you just hold your card in proximity to the reader thing. Did not know that, I assumed it was just reading a key via NFC or something.
- pests 3y agoThis is a classic defcon talk about it. They developed their own cell network with their own sim cards for an event and even built custom JavaCard applications their users could use. They have released all their information and tools used to build and compile Java Card software. https://www.youtube.com/watch?v=_-nxemBCcmU https://www.youtube.com/watch?v=_-nxemBCcmU
- Sharlin 3y agoThe whole reason there’s a thing called a chip in the card is that it actually does computing (indeed they’re called smart cards) and that it does the sort of computing (cryptographic challenge-response) that makes these cards much more secure than oldschool magnetic stripe cards. Even fully passive NFC tags contain logic that needs power to talk NFC back to the reader, there’s no such thing as just reading data via NFC.
- unintendedcons 3y agoIn what world did you convince yourself asking a chatbot was a source of real knowledge? respect yourself enough to look at primary sources
- locusofself 3y agoHow about respect other people instead of rushing to condescending judgement? the stakes are incredibly low here, I asked ChatGPT for fun, like tens of millions of others are doing every day.
- refulgentis 3y agoFor some reason you announced that you were subjecting us to a low quality information retrieval method, and after 6 months of this, people are irritable. The social norms is to do that sort of thing in private, doing it in public and seemingly proudly came across as coarse and impolite It didn't help any that it was clear from the initial post you were questioning someone with domain knowledge, which was later gently indicated to you
- xorcist 3y agoIt's not asking ChatGPT that is anti social but posting it, diluting the entropy of the conversation. Thousands of brains read every posted word before they can discard redundant information. Together we can keep a high quality shared medium, which benefits everyone!
- rcxdude 3y agooh, yeah, they do. They often have multiple 'applications' on them, for different purposes (for example, withdrawing from an ATM with a card is a different application to making a purchase, which is different from the ill-conceved idea of using your card and PIN as a two-factor authentication token)
- eclipxe 3y ago“According to gpt4”…. Uhhh. LLMs are text generators. Not a good source for facts or information, if accuracy is desired.
- callalex 3y agoWhy are you choosing to intentionally cripple your knowledge discovery so extremely?
- lldb 3y agoEvery blu ray player runs java for bonus features on the disk- they can even connect to the internet!
- pseudosavant 3y agoThe very first feature I disable on every Blu-ray player I've ever used.
- ActorNightly 3y agoBy the virtue of being the most convenient alternative, not because its actually good.
- lazide 3y agoHow is that not actually good? Engineering is all about tradeoffs, and ‘works’ is pretty high praise frankly.
- insanitybit 3y agoYou can justify every project that has succeeded against any odds by saying "but it did succeed". It's true, but imo not a very good way of judging when a technology was a good fit or not.
- lazide 3y agoWhat other criteria do you suggest? Ideological purity is rather subjective, and has an unfortunately poor track record of real world success.
- insanitybit 3y agoI guess it's too much to ask for software engineers to understand how a technology matches its constraints.
- lazide 3y agoIs it also too much to ask that someone explain how they think a technology which has been chosen by market participants and is used widely and (apparently) successfully by them does not actually match the real constraints of the market or participants? And perhaps proposes a concrete alternative that matches those constraints better? Don't forget to include things like long term support, developer time, interoperability, etc.
- 3y ago
- Isolus 3y agoAlso many SIM cards (UICCs) / embedded SIM modules as well as e.g. the Secure Element that Samsung uses for Knox run with Java Card.
- latchkey 3y agoDon't forget the Java Ring! https://www.ebay.com/itm/300495374337 https://www.ebay.com/itm/300495374337
- tgtweak 3y agoYeah they had these java buttons too. Not sure if she's j2me or javacard underneath but it's a proper OS.
- paulmd 3y agoalso every SIM card. which is potentially quite a bit less benign - the baseband chip is this completely separate processor which the SOC can't see into, and the SIM card can snoop messages, send commands, and generally act like a secure enclave. It is/was? used for a couple banking systems for feature-phones like MPESA, where the app can run as a featurephone app with the menu item toolkits the phone provides. I think the e-sim idea is probably a net security benefit imo, apple has leveraged the carriers out of a fairly dangerous tool. https://www.youtube.com/watch?v=31D94QOo2gY https://www.youtube.com/watch?v=31D94QOo2gY Recently I was thinking about what a program written to take advantage of Optane's persistent-memory model would have looked like, if you use it like RAM it's forever gonna be slow shitty RAM. Javacard seems to be the closest hit for that, in some ways. Maybe some of the higher-tier javacards have GC. I guess at that point it's basically a JVM application state snapshot, which is the same thing, so maybe not any better.
- Jasper_ 3y agoJava Card is a very different language that's only superficially similar to Java. It prohibits OOP, only allows static methods, and makes you store everything in byte arrays and use System.arrayCopy. It's basically a less convenient C, with its complete lack of structs.
- ActorNightly 3y agoAndroid is mostly things that run java, not java itself. You can look at the source code, there is a relatively small amount of java in there.
- saagarjha 3y agoAndroid has many lines of Java to support its frameworks and system services.
- soperj 3y agoIt's a modified version of the linux kernel no? That'd be mostly C.
- kaptainscarlet 3y agoHe might be referring to system services that manage hardware devices .etc BatteryService .rtc
- grishka 3y agoAndroid isn't conventional Java. For starters, its runtime uses its own bytecode (dex) that's based on registers instead of a stack. But then, also, many things that aren't related to GUI are C++ with a thin Java wrapper on top. When I think about a "Java OS", I imagine a JVM running in kernel mode, providing minimal OS functionality (scheduler, access to hardware I/O ports) and there not being any kind of userspace.
- pjmlp 3y agoJust like Swing and JavaFX use a thin layer over whatever are the 3D APIas of the host. While Android isn't proper Java, converting JVM bytecodes into a better format for embedded deployment is quite common on embedded world. PTC, Aicas, Gemalto, microEJ, WebSphere Real Time, Aonix,.... Current Java OS as per your definition, would be PTC and Aicas real time JVMs for bare metal deployments in embedded scenarios.