This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
- # aws (2)
- # beginners (101)
- # cider (8)
- # clara (8)
- # cljs-dev (3)
- # cljsrn (17)
- # clojars (2)
- # clojure (67)
- # clojure-austin (2)
- # clojure-finland (1)
- # clojure-france (5)
- # clojure-italy (3)
- # clojure-nl (3)
- # clojure-russia (2)
- # clojure-serbia (1)
- # clojure-spec (72)
- # clojure-uk (112)
- # clojurescript (92)
- # core-async (74)
- # core-typed (2)
- # cursive (8)
- # datomic (2)
- # duct (5)
- # emacs (35)
- # events (11)
- # fulcro (32)
- # instaparse (9)
- # jobs (1)
- # luminus (1)
- # lumo (3)
- # off-topic (118)
- # om (2)
- # onyx (10)
- # pedestal (5)
- # re-frame (21)
- # reagent (48)
- # reitit (40)
- # ring (12)
- # shadow-cljs (113)
- # spacemacs (21)
- # tools-deps (47)
I was wondering: is there any company that rents containers instead of proposing a remote service ?
Instead of providing an access to a service, such a company would rent/sell containers to their clients. As a result, the service would run in the client's infrastructure. This could be especially interesting in cases where ownership of data within a remote service incured legal constraints. Basically with a container you would just provide code/behavior and the client would be responsible for plugging it to its database. This seems reasonable to me. Has this ever been done ?
So instead of delivering an application executable, you'd deliver a container that had the application inside? Just a matter of packaging?
Actually I'm considering starting my own company in the e-money business, and there are some legal constraints I think I could bypass if I don't host the data, at least for the first few customers. Once I have reached a certain threshold in my business development, I'd comply with law and turn it into a fully remote service. So the container is more a trick to avoid developping an app or a library AND later a service. Develop once, deploy on containers, then later, host the whole thing as a standard remote service. Even to me, this approach seems a bit cavalier, and I'd be very curious to know if other businesses have ever followed this strategy
Wanted to just say that at some point in the recent past Windows/WSL became good enough to replace OSX for development for me. Conemu is a good terminal, Autohotkey to bring familiar OSX keybindings, emacs exporting to mobaxterm works flawlessly, all code running in WSL portion of Windows so don’t have to deal with slow IO. I’m very happy.
@naomarik Yeah, I've been using Macs since the early 90's as my primary development machines, but lately I've been running Windows 10/WSL on my laptop and Windows 10 via Parallels on my desktop -- and I'm about to replace my 5 1/2 year old 27" iMac with a Windows machine...
(well, "lately", I've been on Fast Ring Insider builds for years, so I was trying WSL from the very early days and logged several bugs about Leiningen and Boot not working on WSL... which all got fixed as MS fixed Java support on WSL)
yeah things are really good right now on windows, and spacemacs is noticably more snappy/responsive on windows than my mac for some reason as well. having a proper dev environment on my SB2 where i can write on the screen to figure out problems is starting to feel like tech is actually progressing for me. at least non apple tech, not sure why their efforts are spent pandering to millenials with their emoji touchbar and gifs.
They always aimed for the hip / cool market. Its not different than before, it's your perception that changes.
just curious why windows? anything in particular that motivates using windows for dev instead of say linux?
well i’m reliant on WSL within windows, i basically have ubuntu within. without WSL and windows only stuff i wouldn’t really bother
but if you’re asking why windows as OS instead of linux… well personally never been able to get a linux to my liking in terms of feel and polish, but the last time i tried was ~5 years ago. don’t feel like it’s necessary anymore though with WSL.
What bothers me about Windows is that it’s second class in many developer tools. E.g.
clj is not supported on Windows yet? This is one of the reasons I went from Windows to Mac 7 years ago. But with WSL things might have changed, although my experience last time with it wasn’t that good: I tried to run an ELF binary I compiled in Docker on my Mac and it failed miserably because some things weren’t supported. I might hold off for a couple of years.
Linux on the desktop: sure, until you need Omnigraffle or some other commercial application that neglects linux.
Not sure if that will ever change, most developers are not on windows, so a lot of code isn’t tested for windows, which will cause developers to not develop on Windows. I don’t see how this loop could be broken?
About half of them are on Windows. The rest is equally distributed over linux and Mac.
Surprising, but I bet it would be different if you look at the primary os from open source committers?
you can download the data and find out: https://insights.stackoverflow.com/survey there’s also data about who commits to open source, so it should be easy
the ethics question is interesting, although you may not always be aware that there is even an ethical problem.
ok, here’s the survey analysis: 13248 of OSS committers use Windows, 9836 Linux, 10581 Mac.
"The majority of developers check in code multiple times per day. Professional developers are less likely to check in code rarely or never." I'm not sure I believe this one considering the number of times i have to give people a hard time for not checking in code for days at a time.
It also makes me, as someone also working on the project, more satisfied that you check in code more often.
@jgh doesn’t that last sentence mean: professional developers are likely to check in code frequently” because of the double negation?
it does, but what im saying is that anecdotally ive run into a fair few professional developers who don't check in code frequently (or, imo, frequently enough) 😉
On average I probably check in about 200 loc at a time, but I often won't check in for several day simply because the work requires a fair amount of design and thought.
yeah thats what i mean, it's better to be on a WIP branch because shit happens. Laptops get stolen, sometimes you delete a thing you shouldn't have, stuff crashes. Not only that but if you want a second pair of eyes on it if you already have a WIP branch -- super easy. Otherwise they get to bug you for the code and then someone comes along and distracts you and they're sitting there for 30 minutes waiting for you to push the code 😉
in the context of Simple Made Easy, what would be a specific example of using queues as an architectural advantage? I feel that using core.async chans is too fine-grained for what he meant, and a SQS or Redis queue, too coarse-grained In both cases you use those queues 'because you have to' (i.e. incidentally), rather than with the specific purpose of decomplecting things
ok i agree that "decomplecting" (never heard this word before, but I assume it means making things less complicated??) may not be the specific goal
for example I use them extensively in a media server. I suppose they would be something akin to core.async. I create task objects that contain closures that do a thing. If I need to encode a frame the frame is passed to a queue and it is encoded at some point in the future. The caller doesn't necessarily care when.
mm no in the case of my system it's a pipes and filters pattern so each component receives some data, transforms it in some way, and then passes it to the next component without knowing or caring about what happens afterward.
I see quite a few people here talk about how they moved to windows laptops from macs. i stopped by the microsoft store the other day and just messing with the demo laptops and surfaces, I found that the trackpads (1) don’t track that well, (2) got bogged down under heavy load like starting MS word, (3) picked up stray touches from my hand in a way that my mac never does. This is just the kind of lack of detail that made me a mac convert in the first place. Do windows users have a different experience, or is the issue that they are docked most of the time?
I haven’t used windows much lately, but every time the experience has been terrible for a lot of the same reasons you just listed. Touchpads are just offputtingly bad - and it’s not a hardware issue, because linux seems to do a lot better on the same machine. I had a new machine, high-spec Lenovo, with Windows 10 and it had abysmal performance problems. Ran Ubuntu like a champ though.
surface book 2 line has the only trackpad that i’ve been able to tolerate. that said it’s still not mac quality. i make heavy use of hotkeys and keybindings though so i’m not using the mouse as much as most people
MacBook has to watch out though, a lot of people are put off by the newest line up (keyboard quality, useless feature like the touch bar, no 32GB yet) and might be leaving soon. But maybe this is just my bubble.. if you watch their sales numbers they only go up.
@vemv @jgh queues are used extensively by larger distributed systems. You have boxes that perform a specific task and then they dump data into durable queues to communicate. The messages can often be idempotent so that if a box dies, the message is requeued for another box and the work is done again.
If a few boxes die, throughput goes down a bit. If you keep enough space in the queues you can even do rolling deployments without disrupting service.
That's how we were able to get to 2 years of zero-downtime at Walmart: https://www.youtube.com/watch?v=av9Xi6CNqq4
And I'm not sure how long the "no downtime" actually lasted as my contract with them ended.
Ace contributions, thank you! Will be good to revisit the Rich talk with new eyes. Also much interested in the Walmart one.
Watched both. Rich one I could follow it but it'd be useful to have a canonical/example implementation of those ideas, else one risks misinterpreting his message. Walmart one was centered in Component and little else right? In any case, The Language of the System touches an important point - how should distributed systems laid out for us functional programmers? My current distributed system design would be almost identical regardless of whether I'm working in Clojure, Ruby or Java. I suspect this is an increasingly popular reality, which is unsettling because in the large, Clojure could be considered exactly as weak as other general-purpose languages.
Re: trackpads -- so now I'm curious as to how many devs use a laptop as their primary machine vs a desktop? For over a decade, my primary work machine has been a desktop, and I've owned a personal laptop for use when traveling or watching TV or whatever. I've had a touchscreen on the laptop for a long time and hardly use the trackpad there. On the desktop I have a mouse, no trackpad.
i think ive only had one job with a desktop workstation in the last 10 years, and that job was only for about 6 months. Other than that I've always used a macbook.
for the most part i only really use a mouse in windows because as others have said somehow they managed to screw up trackpads to the point where they're almost unusable
I’ve used queues to decouple microservices. It’s way more robust design to A -> queue <- B than A -> B
thing i like about mac is 1) build quality is, for the most part, nice. 2) macOS is posixish so I get a nice command-line, 3) i can run windows and linux on it (whereas i cant easily run macos on a non-mac computer)
I’m running 2015 15" Macbook Pro and it’s a solid computer. I don’t like the new touch bar models that much.
@jgh Build quality of Windows machines is variable, true, but there are some very well built ones (Microsoft's Surface range "feel" very nice, in the way that only Macs used to). Windows 10 has WSL so you can run multiple flavors of Linux "natively" in user mode. I've been using Ubuntu very happily as the "shell" on Windows. I've been a Mac user since the early 90's (System 6 days) and I've tried to like Windows all that time. I feel Windows 8.1 was the turning point, and Windows 10 (with WSL) is much, much nicer than macOS now. On my iPhone, I run Edge, Outlook, Bing, Cortana (Cortana is way smarter than Siri) and MS has really good cross-platform integration now, so I can pick up tasks on any device as I'm moving around.
yeah im not particularly a fan of iOS but i dunno..i just feel like with Windows and Android both the doors could fall off at any point. Windows has always been like that though, it just feels like a rube goldberg machine.
Got a bit of dust under my down-arrow and now the travel is about half of what it should be. the new keyboards have about 1-2mm of travel on the keys, which is horrible.
And for several years now MBP machines have been wigging out whenever I hook them up to the three monitors I have in my office. As in, it mostly-works, but sometimes something goes wrong and the kernel starts taking 300% of the CPU. Only fix is a PRAM reset
So my next box will probably be Linux. Maybe windows, but I don't know what that looks like in an enterprise after they install all the mandatory Windows software 😄
And Apple long ago forgot the professional developer. Take away that fancy bar, and make it a bit ticker and allow me to have 32GB of ram, and a better processor
Fair enough. I haven't really had too much of a problem with the new keyboard, but I have definitely had weird problems with past MBPs (I was hit by the GPU that would fall off the motherboard due to heat in the 2011 line).
i just can’t believe there’s not one well-made laptop out there. you either have the reportedly terrible mac keyboards or you get trackpads that might as well not be there (or that lenovo nipple in the middle of the keyboard). i scared because i think my current trusty 2012 era macbook is dying
I’m lucky that stuff I do (web development) doesn’t require super-hardcore performance. If I did, I’d consider lifting the heavy stuff elsewhere if feasible.
@valtteri exactly what I do, I have a linux box I got off Ebay for $75 that's powerful enough to run Docker and the DB services.
I’d love to have a linux box humming in the basement but I don’t have good enough excuse to buy one. 🙂
15 years ago I started to learn Linux (Debian) when I needed something to host my crappy homepages and share files to friends. I had an old Pentium3 where the CPU slot was sticking perpendicularly from the mother board. Those were the days.
If we're going to get all "Four Yorkshiremen" about it... Back in the day, I ran Tenon Intersystems' MachTen (Mach-kernel, BSD) as a parasitic application/guest O/S on my System 6 Mac, and wrote my own mailing list server software in C and ran multiple mailing lists out of my house, via a dial-up modem, where I had to pay by the minute for connection time... That was early 90's Daemon Internet had just started offering $10/month Internet access. I thought my 14.4k modem was very high tech!
My first exposure to *nix systems was in 1979 at university -- we were a beta test site for Primos 19 aka Primix, Prime Computers' first Unix-like O/S.
@seancorfield I guess back in those days you really needed to understand have the machines worked? It’s very different today when almost any kid can build impressive things without knowing how a computer fundamentally functions.
haha i ran a bbs back in the 90s when i was like...13...had a dedicated phone line for it and everything!
It's crazy to think how far we've come. I couldn't use "Internet" or "BBSs" because they were all long distance! We didn't get a local service number until around 1995.
We had ISDN and if you really needed bandwidth you could have 2 connections in parallel. With double charge of course.
@tbaldridge great idea, I should probably look into a mini-PC too as an add-on to my laptop. one that has wifi builtin and doesn’t make a ton of noise
About once in a year I need to transform ~100gigs of raster maps into another format. It took several days with my old laptop a few years ago when I ran it last time locally. Then I learned how to use AWS.
RE: old machines, I'm not old enough to have worked on them, but I used to collect SGI hardware. Had a few O2s, a Octane2, and a Orgin2000 deskside
And then I got married 😄. I'd love to pick up one of those again sometime though, just as a conversation piece. At the time, the Octane/Origin/Onyx hardware was a work of art
Plus they just look awesome: https://c1.staticflickr.com/4/3651/3420160085_3d1c6be277_n.jpg
Loved the SGI machines! Such gorgeous colors! I lived pretty close to one of their demo facilities in the UK and would pop in from time to time to experience their real-time VR rendering experience. It was amazing to watch them go from a room of huge tower computers down to a single 3' cube computer over a few years.
We have one of these at the university where I work. I love the practicality of having a sofa integrated into a supercomputer https://upload.wikimedia.org/wikipedia/commons/f/f7/Cray-1-deutsches-museum.jpg
nice! reminds me of the guy who built one from scratch (from a fpga IIRC): http://www.chrisfenton.com/homebrew-cray-1a/
A company I worked for in the UK was once the smallest company in the world ever to buy a Cray (they pioneered oil field seismic data analysis).
Their office was on the second floor, above a post office, and they had to reinforce the floor and have part of the outside wall removed to get the Cray in, via crane.
Sadly, computers moved on so fast that by the time I joined, they no longer needed a huge Cray, just a cabinet-sized workstation, so I didn't get to see it in the office 😞
I picked the case for my desktop primarily because it made me think of late 90s Unix workstations: https://www.corsair.com/us/en/Categories/Products/Cases/Carbide-Series%E2%84%A2-Air-740-High-Airflow-ATX-Cube-Case/p/CC-9011096-WW