Jakobeha
Joined 6 years ago
Joined 6 years ago
Location: West Lafayette IN USA
Remote: yes
Willing to relocate: no
Technologies: Java/Kotlin, Rust, C/C++, JavaScript/TypeScript (Node.js and web), Swift (iOS), Coq (formal methods)
Résumé/CV: https://jakobeha.github.io/Resume.pdf (https://jakobeha.github.io is my personal site with more info)
Email: jakobeha at gmail.comRemote: Yes
Willing to relocate: No
Technologies: Rust/C++/C (Unix/Linux), python (numpy/pytorch/huggingface), Kotlin/Java, Swift (iOS), Lua, HTML/CSS/JS/TS (node.js and web), PostgreSQL, Git, Bash, Excel
Résumé/CV: https://jakobeha.github.io/Resume.pdf
Website: https://jakobeha.github.io/
Email: [email protected]
Bio: 3rd year PhD student looking for a summer internship. Most of my research experience is in PL, I also have some experience in SE and ML.
I've taken the class at Purdue. The way the class works it was divided into 4 "projects" where you had to add features to Xinu. In my semester those were: a more advanced scheduler, locks, process permissions, and a file-system.
Alerts and login forms are clearly prompts. But so is an complex editor: it constantly prompts the user for the next action, e.g. enter text or change existing text’s formatting. Or a social-media site: possible actions are “login”, “view post”, “create post”, and so on.
Even an FPS can be warped into a prompt-based UI, where the model is the game state (or what the player sees of it), and the prompts are “move, turn, shoot”. But you probably shouldn’t do that. Asp bad examples: a weather or stock viewer where your options are null, and the model is the weather or stock which you can’t change.
Nonetheless prompt-based UI is really useful for many otherwise-ordinary cases. It lets you write a UI like a CLI and automate your UI very easily; it tells you which state is truly part of the “model” and which is just part of the UI; it’s composable spatially (more elements) and temporarily (series of steps). I don’t know if it’s been explored much.
In prompt-based UI, the UI is sort of a pure function of the model. It’s an asynchronous function which takes the model and returns a stream or future of the next action(s).
IME I've heard a lot more people interested in side projects than the other commenters. But I'm also a lot younger, and heard this usually in different universities.
Once you actually get a job, you put that on your resume and it's better than a side project.
Exercise maintains physical health, which IMO is more important than any amount of career success.
Duolingo "teaches" alternate tenses weirdly and IMO too late. But it does well for memorizing words, and it has people speaking with actual Spanish accents and forces you to understand them. So it's particularly helpful for me.
- Can't even do basic math, or I solve it wrong (e.g. 2 + 3 = 7) - Impossible (non-euclidian) spatial arrangement - Leave out big gaps of details, which I have to fill in if I remember the dream. Not that I'm forgetting stuff, I just never thought of it in the first place - Misremember stuff from the past
The main issue I can see them facing is: it's very simple, so easy to clone. And Duo has its flaws, so I wouldn't be surprised if of those clones are a lot better. I like Duo, I use it now, but I could switch to another service in 1 second.
Co-op work is not classwork, so it removes the incentive for students to submit lazy contributions for bad grades. Yet co-op students actually benefit their companies because said companies continue to hire them.
Of course, the main difference with open-source is that nobody is paying the student. But still - either investors in FOSS can "hire" students to work on various open-source projects, or the students can choose to work unpaid (perhaps for less tuition, or part-time work on the side, to make ends meet). But I really think adopting a co-op model would be easier and more effective than trying it in the classroom.
AFAIK it's going pretty well. I don't actually own Apple Arcade, but the games all look really nice, and no ads or microtransactions. Maybe someone who knows more can comment.
The issue is that at least in my experience web game engines suck. JavaScript is slow and awful for large-scale software, even today. Frameworks which compile into JavaScript and WASM (e.g. libGDX) compile incorrectly, leading to obscure awful bugs, and they're still slow because JS. Your best bet is a general-purpose game engine like Unity or Godot which can export to web, but still, the web export is often broken, missing features, and just slow. Even tiny games I've played on itch.io either don't load or play super slow, and sometimes that might be the dev's fault, but often I think it's the state of web-gamedev in general.
Btw, I suggest adding links to https://m3o.dev from https://m3o.com and vice versa. Until your response I didn't see that the former site existed.
Why do I need an API to convert images? Find emojis? Convert "John" to "Hello John"? (ok the helloworld service is just a demo.) I can do that on the client using Javascript.
Moreover, why this instead of something like AWS Lambda, where you code your own service? Instead of prebuilt APIs, why not make it more general?
Don't get me wrong, this seems like a great service and I can see some niche use cases. Also basic APIs for things like database operations and authentication which can actually get pretty complex, and like getting the weather which you can't do yourself. But I can't really see the benefit to some of these APIs, and a custom lambda-style service-creator seems better than a lot of niche APIs and "submit a form if you want your API here".