6 ms·
Many years I worked with a team that couldn't figure out why the code ran so fast on Bob's laptop but was slow as shit on production server hardware. The produc
by fmakunbound 6y ago
Many years I worked with a team that couldn't figure out why the code ran so fast on Bob's laptop but was slow as shit on production server hardware. The production hardware was state of the art at the time and they were kind of in a pinch deadline-wise. They ended up literally deploying Bob's laptop to the ISP data center.
- duxup 6y ago>They ended up literally deploying Bob's laptop to the ISP data center. I guess in a pinch but that is a solution that I just don't think I would like.... I would feel like we're going to figure this out, not surrender to the absurd...
- throwawaywrench 6y agoI doubt it was a solution anyone liked.
- billyhoffman 6y agoEspecially Bob
- lmm 6y agoBob probably got a newer-model replacement and was fine with that.
- Rapzid 6y agoThey probably made Bob develop on the server..
- ComodoHacker 6y ago..until he gets matched performance.
- vbezhenar 6y agoSometimes that requires expertise in a very low-level topics. For example I've read a similar story, but developer digged the truth. Production was running on vmware cluster with live migration or something like that. Servers used slightly different CPUs (frequency differed a bit), so VMware emulated some important instruction (something related to get current timestamp). MSSQL used that instruction a lot in one specific scenario, so it was running much slower on virtualized production server. They were able to figure it out and rewrote one stored procedure so it ran fast again. But I'm sure that I, for example, don't possess the necessary expertise to figure this out. I wouldn't be surprised that in many small-to-medium companies there are no experts of that level either.
- gvjddbnvdrbv 6y agoI would never get the CPU instruction bit but I'd like to think I'd get as far as the stored proceedure.
- xxs 6y agoTime Stamp Counter (TSC) has been trapped to make sure it returns the same value across all cores. Intel fixed that part, though.
- zorked 6y agoIn a live migration scenario the TSC in the source and destination machines will be necessarily different so that emulation is required to make it not warp. That said, due to previous TSC instability all operating systems deal with a TSC warp pretty well. Whether applications deal well with it is probably the reason why emulation is the default, but it could be that this can be disabled. (Everything AFAIRC)
- vardump 6y agoSure, across all cores on a physical CPU socket. But not across CPU sockets.
- RedShift1 6y agoProbably VMware fault tolerance which keeps a virtual machine in sync over 2 physical machines to allow instant failover. But I can imagine that taking a lot of instruction trapping.
- raverbashing 6y agoIf you hire only people with a superficial knowledge of things (the usual for the "big consultancies") that's what you'll end up with.
- pjc50 6y agoShip first, dig self out of absurdity later.
- quickthrower2 6y agoLater being codeword for never
- pjc50 6y agoMaybe the horse will learn to sing? https://en.wikibooks.org/wiki/Sufism/Nasrudin#Nasreddin_and_the_Sultan%27s_Horse https://en.wikibooks.org/wiki/Sufism/Nasrudin#Nasreddin_and_... Maybe putting the laptop in the data center lets you do the launch. Maybe the launch is a flop because you forgot to advertise it. Maybe you raise series A funding; maybe you don't and the site dies in three months, still happily running on the laptop. Maybe someone decides to re-write the product in a different stack. Maybe the product was wrong and needs to pivot. A lot of products have shipped and succeeded with absurd hacks in them. Hex-editing the binary to change "EMM386 Memory Error.." to "Thank you for playing Wing Commander", etc.
- bregma 6y agoI believe the correct translation is "in the fullness of time as we address technical debt."
- nrclark 6y agoI know that I'm a small sample size - but in my career so far, "later" means "never" a lot more often than it actually means "later". Especially when it comes to paying down technical debt.
- pc86 6y agoIn my similarly limited experience, this is directly correlated with equal parts 1) how strong-willed the architects and technical leadership is; 2) how [dis]functional your non-technical leadership is. Most good developers want to pay down technical debt. Most good architects are able to balance business and technical needs enough to know when and how to pay down what debt without spending four sprints renaming variables. It's when you have either dis-functional leadership who refuses to listen to their employees (most likely IME), or architects weak in either skill or constitution who can't or won't stand up the bosses to try to explain to them why we need to spend some time renaming variables.
- agumonkey 6y agoIsn't this worth some contest ? 1000$ to whoever figures it out.
- JoshTriplett 6y agoWhen it's not a hardware problem, but a different kind of "works on my machine" problem, that often leads people to containers.
- kelnos 6y agoMy understanding is that's pretty much why Docker exists.
- fao_ 6y agoAt my internship, one of the senior developers (a great guy, wish we had stayed in touch more), joked about building a company out of developer's machines (like a, Developer Machines As A Service type thing), so then, software will always work. After all, it works on MY machine!
- gruturo 6y agoIsn't that what Docker basically is? https://i.imgflip.com/24ac74.jpg https://i.imgflip.com/24ac74.jpg (I know, jokes should be down to a minimum on YC, but this was too relevant).
- swiley 6y agoI recently got a job and that’s how it is here. (I’m not sure if they’re actually VMs, they’re very powerful machines.) One of the first things you do when you get hired here as a developer is request that a machine get provisioned for you in the data center and provide your public ssh key. You’re not allowed to do anything on the MacBook they give you other than mail/wiki/chat/ssh. IMO it’s pretty brilliant. One extra nice thing is that the OPs people rather than the corporate IT people manage it so it actually works well.
- ajuc 6y agoWe had "Rafał's computer" where there was a development environment for building our app on windows with mvc 6 and commercial QT 3 licence. Every customer except one used our app on linux machines, and every developer had linux environment, but sometimes you had to debug or build a new version of the software for that one windows customer. In that case we connected through remote desktop to Rafał's Computer and worked there, because nobody could figure out how to make it work anywhere else. Rafał quit that company 1 year after I came to work there. When I was leaving 6 years later the "Rafał's Computer" was a part of critical infrastructure and there was an effort to virtualize it :) It's a miracle it worked so long without disk failing TBH :) I'm sometimes wondering if now, 5 years later - they still have Rafał's Computer around. Hopefully they managed to virtualize it eventually :)
- pjc50 6y agoSimilarly we had to ship something targeting WinCE 4, and the official "Platform Builder" toolkit wouldn't even install on Vista or above. So even into the Win10 era we had to have XP VMs to build from.
- Yizahi 6y agoWe had and probably still have somewhere a builder for our legacy software for pSOS on PowerQUICC. This build PC was forgotten, lost and then found several times while I was in the company and there is probably one person left who even knows what that is and how to work with it, and he is close to retirement. Thankfully target platform is in process of end of life and there will be no more development for it.
- hnick 6y agoPoor Bob. I bet he was sad that his super laptop went on to better and greater things :(
- Kye 6y agoThe cloud is just someone else's laptop.
- alfiedotwtf 6y agoIt’s only May, but I feel that this should be comment of the year