posted Jun 10, 2016, 9:29 PM by Sami Lehtinen
updated Jun 10, 2016, 9:30 PM
- Python Thread Pool. I just tried to call getName() or ident in thread pool worker thread. Guess what. Nothing happens, nothing at all. It just hangs. No error message or anything. Just so great. I like these things. NOT!
- Moar fun stuff. multiprocessing.BoundedSemaphore works differently from threading.BoundedSemaphore, yay. Took a while to figure that out. In most of cases I don't need BoundedSemaphores or especially to read those status while data is being processed, but now it was required.
- Lot of discussion with a friend about Aruba Wireless Networks, channel management. In one hotel, they used all all channels in freely overlapping manner, not only 1,6,11 or 1,5,9,13 configuration. Actually the network worked quite well, when signal was very strong. Yet I guess the overlap caused constant interference immediately if the signal was weaker and the overall data rate and performance diminished totally, even if there was ok signal level.
- Finished Rework book in airplane. Yep, it made me laugh, when they said in the book, that it's easy to get a lot done in plane, because you're distraction free. - So true. I also very much agreed about the book in general. Great observations and that's also something what I've been thinking a lot. As you might have at times noticed my slightly negative attitude about all that 'corporation blah blah'. In Rework book, they didn't praise corporate stuff, they said the truth, it's mostly horribly expensive waste of time. Having those super engineers which write superb code, which takes ages to build, runway runs out, nothing gets ever released. - Ahem, what was the point of writing blah blah hype blah elite great perfect code? - I think it was just a miserable failure to be so great. - Just build it with tools which are reliable, you know, and get the stuff done. - I've said this earlier when people are asking why I'm not using cool junk tool XYZ for that task? Well, because the task can be accomplished with older well known tools and you'll avoid the learning curve of making utterly bad few iterations with the new tool and still getting surprised by the stuff you don't know. Yes. I use cool tools, if and when required and if those provide enough additional value. But using cool tools isn't the point, the point is getting the stuff done and working reliably. When launching new software product, what's the point if the project is delayed for three months, because it was fun to play with new raid controller and you run into unexpected complex issues, data corruption and complete failure. - Ok, to sum it up, the book didn't contain anything at all which I wouldn't have well known already. Same issues in every company. So in that sense it worked like a good comedy. Been there, done that. No news. Only thing which made me feel bit uncomfortable was the part where they wrote about great writers. I confess. I can cross check tons of things in my mind. But to produce a clear document about it will take extra effort for me. But I guess that's very common. Also I lack experience in writing, I'm not journalist. I admire people who can write great stories. If I want to write something which is even good, it'll take me a few days and several iterations. That's what I do, when high quality writing is required. Often it isn't. This blog is just "dump of thoughts" and I don't have even time to reread my posts. That's not a flaw, it's just focus question on more important things than that.
- Nope, I didn't say play wouldn't be important. That's how you get to know things. But you'll need to know when to do it. I've shot my self in the leg so many times, doing something cool, awesome, smart, or hyped stuff and caused a minor catastrophe with that. Hey, they got this cool alpha network driver, it promises 3% less CPU load, let's roll it into production on all servers on Friday... No, I haven't done that. ;) But it was just an example what not to do. Balancing it out is important.
- I just had extremely annoying boot loop issues with VMWare where old VirtIO driver caused systems to loop endlessly when booting randomly. That was really annoying mess to fix. I've actually had a test system to boot 3000 times to see if the new version hangs. I haven't yet checked it out. I hope it works, and then I'll start rolling the version on the other servers.