I remember we once had a kind of nice and neat state machine. Then we got a requirement to enable an action on whatever the state was, and it wasn't pretty anymore 😔.
Anyone knows if there is a way to run Windows in the cloud and run it in a window from a Mac? I never seem to be able to get Calva Jack-in work on all windows machines. The last fixes for this from some months ago looked like they finally did it, but now people are starting to report problems. I think I need to accept that I will never be able to solve it completely, and keep an easy way to test things on Windows. VirtualBox doesn’t cut it. Things are super slow and it often just hangs. Remote controlling some Windows instances would be super nice.
Doesn't AWS offer such a service?
You can then RDP into it
You can also just spin up an EC2 instance of Windows and again, RDP into it.
We use EC2 instances at work to run some C# applications that requires the Windows system.
I'm very sure that Microsoft Azure would offer a similar service (being their baby and all 🙂 )
it may be cheaper than EC2
Thanks! Looks like I have options!
@pez I've assembled a PC that runs Windows and WSL2, I test all Windows and linux related things on that box. Maybe you have an old computer laying around for which you can do the same?
I don’t, actually. Besides, Calva works fine on my VirtualBox Windows. I need to be able to have machines with different Windows versions. (You would probably also need this, as one of the problems Calva has with Windows seem to be deps.clj related. 😃 )
Amazon Workspaces is too expensive for me. 😞
Yup
They aren't cheap 🙂
Have you had a look at azure?
Azure will give me 12 month free of Windows virtual Machines. Might try that out. Also looking at EC2 right now.
Is this something that can be done using Github Actions? It is free for open source projects. https://github.com/features/actions
Doubt it. I need it to be development machines. The workflow is a bit like: 1. Someone reports an error 2. I try to fire up a machine like the user’s and reproduce 3. I try to fix on that machine 4. I verify on all the so far known machines If Github Actions allow for selecting various Windows versions, then maybe it can be used. But for step 3 it would be kind of slow to experiment.
Okay, I think you are right. I was thinking the other way. 1. You already have a working Calva version. 2. You use GA to ensure it still works after the change. Via an automated test.
You might already have done it, but still... Did you install VirtualBox guess additions? I found VirtualBox performance to be adequate.
It might give you a more responsive Windows than either EC2 or Azure.
Yes, i have the guest additions. It’s painfully slow. And eats up a lot of my hard drive. And I will need several.
I have a an EC2 free-tier (free for 12 months they say) instance up now and am connected to it with Microsofts RDP Client. It’s super snappy. I fail to install VS Code though. Or rather fail to download it. Might have answered wrongly when accepting the suggested security requirements.
@pez Would it be an idea to just buy/build a PC computer with 16GB-32GB of RAM and install Windows home + WSL2 on it?
From sponsor / opencollective money
Might be cheaper in the end than the AWS solution
Or even a laptop
If I can have several windows versions on it, it might be an option.
what do you mean by several windows versions: 8.1, 10?
Yeah. Seems like some build of Windows 10 is the one causing grief right now.
Maybe pairing with the one who has the problem on his/her system might be the best option then?
As this can be very hard to reproduce
Only supporting the last release of Win 10 might be an option.
I don't know of a clean way to jump to a specific version of Windows. Not sure you can even download a specific version officially.
Indeed hard to reproduce.
Maybe it is not possible to set up the workflow I want. It is all quite sad around this. I think 95% or the time implementing and maintaining jack-in has been spent on (failing to) support Windows cleanly.
I don't think jack-in is worth it at all ;)
I know you don’t.
It was surprisingly easy to start a windows machine on EC2 and connect to it using RDP. From creating an AWS account to being connected it was 15 minutes, tops. Then it failed because I don’t know how to use Windows.
And now closed the account. Also easy. 😃
I feel a bit defeated now. Revenge on Friday maybe, I just ordered a mini-pc that I plan to RDP to.
Even if I can’t repro the various errors on it, I can at least quickly try out different ideas.
@pez Exciting! Which one did you buy? This is also how I use my PC
No chance to write it off as a business expense?
Nice mention of Clojure at 5:30 https://www.youtube.com/watch?v=SMohobzkqXg
Hmm.. How can I download GraalVM EE for evaluation and trying it out (it supposed to be free for those purposes) if Oracle insist that I put all the information about company I'm currently working at? 😄
i don't see how requiring that information prevents you from downloading and trialing it
Why should I provide that information if what I do with GraalVM is not connected with what I do at job at all?
Just fill it in with nonsense
you could put "personal use" in those fields then
Fair. Will do so. Thanks guys!
I went as cheap as I dared. An https://www.asus.com/Displays-Desktops/Mini-PCs/All-series/Mini-PC-PN40/ with 4GB RAM and 64GB SSD. It has Windows Pro, whatever that is.
Nice! I hope 4gb is enough to run vscode ;)
And java, and clojure-lsp, and … We’ll see.
It does allow for upgrading to 8GB though, so if it comes to that I know what to do.
I think a Windows pro license costs more than this entire miniPC normally ;)
I payed 2900 SEK, roughly €300
Much better than paying totally unpredictable amounts for AWS stuff.
cool
good investment I'd say for someone who deals with cross platform stuff. I hope it will pay itself back
It will save my Mac from being thrown out the window just because it hosts that horrible OS in the slowest possible manner.
I recommend trying out WSL2, it's pretty neat ;)
The Calva users using WSL2 does not have all these problems, though. So I will need to stay in Windows to experience their pain.
It's through pain and suffering that you can appreciate the other side better :P
Late to the party - but Microsoft offers free VMs to test IE11 and Edge in various versions. Still virtual box: https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/
I have one of those on my VirtualBox. It’s nice that it is free.
@pez You probably need the Pro
of Windows Pro
. Windows Home edition does not support virtualization I think.
I would have gone for one of the latest Macs and then used virtualization to host Windows, 😁
@borkdude WSL2 is great and fun, until it isn't. I had to delete my Windows user for a different reason, and recovering files from the rootfs of the previous WSL2 installation was a pain.
So I blew my tech interview with Google (and I thought it went good!). Any uplifting words for a heartbroken fellow developer?
Don't feel bad. failing an interview always sucks, but had you gone to work for Google you wouldn't be able to use Clojure for your work 🙂
You'll make a thing bigger than Google
What attracted you to working for Google?
Well you had the guts to try. Trying is usually the first step to succeeding ;).
@alexmiller I was watching your keynote at ClojureTRE 2019, really good presentation, but one thing that caught my attention is how you at Cognitect draw interesting diagrams, and I believe that they are very similar to all diagrams shown on Datomic Cloud docs. I actually these diagrams great and always wonder what software you used to draw them. It's a newbie question, so forget if it is a little bit off-topic.
OmniGraffle
Wow, I'll use it always from now. Really good stuff
off topic is the on topic of #off-topic
I'd say we use google sheets and omnigraffle more than we write code, or maybe that's just how it feels :)
Yes, the way you are working devising how to make the right decisions that will last forever as you said is pretty interesting, and spreadsheets are the lasting programming tool ever.
No is temporary, but Yes last forever
LIKE SPEC ALPHA, AMIRITE!?
:rolling_on_the_floor_laughing:
Can't wait for spec aleph-zero
the ultimate spec blaster!
@borkdude no reason actually, they contacted me. It was for a position at the GoogleAds team, which I don't really like since I am very against advertising in general. But I really wanted to work in a BigTech:tm: just for the experience at least (and making my CV gold plated)
@pablore I had a similar experience once. I was invited for a big corporation. It felt personal but when I arrived I was put in a room with other people who were mass-tricked into applying for a job there. I had to do lots of these "turn around the figure in your head" type of things which I'm bad at (anything 3d really, yes, I rotate maps when navigating, haha). They sent me away just before lunch because I didn't score high enough, I had to buy some lunch elsewhere, the rats. I never wanted to do anything to do with that big corporation again and in hindsight I feel lucky that I didn't work there, because in other contexts I didn't get the impression they made high quality software. Hope this helps somehow ;).
I’ve been trying to get there, I like the idea of doing the hard problem solving on paper, then spending a bit of time to get it into code.
Lots of people don't pass first / second screens of interviewing at Google, even perfectly competent people. Lots of people would like to work there, not so many positions to fill.
Not quite the same, but probably some similarities to people who become software developers because they want to develop video games.
@pablore Don’t feel bad: Google’s interviews are legendarily brutal (and a poor filter for good people anyway, IMO).
Well, the example they give there is Elisp, and I imagine there are other lisps that would allow you to mutate that string, too.
Clojure on the JVM does not, at least not without breaking the JVM's security/safety barriers at a fairly low level, e.g. linking in native code, in which case it can muck with everything in memory if you want to.
JVM strings are immutable at the JVM level, so Clojure/JVM strings are, too.
Yeah, was just a funny example. Default immutability is a pretty good idea turns out
They pestered me regularly for several years to go interview and I eventually gave in and agreed to a phone screening interview with an engineering manager and it was awful. I stopped the interview about 10-15 minutes in and read them the riot act and what a crappy interview process/technique they had — and then we chatted for another half hour about interviewing experiences. I asked them to mark my file as “do not call” (and they haven’t).
Some people on reddit saw this blog post and started harping on how this is why "lisps are bad" lol
You can mutate Clojure collections if you know the right Java interop calls to make, if you want to, but I wouldn't advise it. That does not require using native libraries.
Some people like to spout off on things they are not fully informed about -- film at 11.
Tell the people who started harping on how this is why lisps are bad, that you can easily write programs running with root privileges that mutate Haskell data structures in memory 🙂
immutable data is an abstraction, and unless someone implements it with some supposedly immutable physical stuff (that I'd like to see), it is actually mutable
(or Plato is right, and it is the world of Forms that you are looking for)
The Riot Act??
meaning that Sean explained to them very clearly and unambiguously that their interviewing practices were very poor, and he believed they should abandon those practices in favor of something better.
https://www.atlasobscura.com/articles/what-it-actually-means-to-read-the-riot-act-to-someone
I actually went to the wiki article for the riot act
“it usually means they’ve been caught engaging in antisocial behavior and chastised accordingly” — yup, that’s it!
Well thanks everyone for the kind words. I'll just concentrate on my clojure skills instead of whiteboard tech trivia so I can eventually land a job I really like or even start my own purely functional company.
Of the FAANG companies, I’m not sure I could work for any of them…
Not even Apple? I heard they use clojure on some parts of iCloud
I'm still waiting for the spec version that we can specify the spec of spec in that spec then auto test it with the generative testing
yo dawg, I heard you like specs
A job isn't defined completely by what programming language you use most of the time. There are many other factors.