AboutUbuntu and more Ubuntu. Coffe and more coffe. Soccer. Speak gently and carry a big stick.
SkillsClosures. Prepaired statements. Vanilla JS, Go, ads. Soccer Rainbows.
Joined devRant on 7/16/2016
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
If we evaluate our work precisely when it is done we have no distance to it. If a long time pass we do not understand it anymore.
If we think to little or to much about something we become argumentative and unreasonable.
Blaise Pascal 1623 - 1662
Still a truly remarkable man!
ME: Yes dear Typescript besserwisser knownothing, I assert that the var on line 32 is not undefined because I checked on line 31!
TS: Forbidden non-null assertion
ME: MS nutcase!1
What at TOTAL mess the EU and the IAB has caused with the GDPR 2! They talked to everyone for years and planned this crazy soup into the smallest detail?
They should have made large and small vendors of invasive ad tech ask for permission directly from those affected. But no.
Instead all publishers must ask for permission for stuff they have never dreamed of implementing. And when the users agree they automatically give the same rights to hundreds of completely irrelevant ad tech vendors. Companies neither they nor the publishers have ever heard of, like 1plusX AG and 33Across and LoopMe Limited. If anyone of these clowns asked you for a permission directly would you say: Hell yes, track my geoposition accurately! And while you are at it please do store your trackers on my device! Probably not?
But if you answer Accept on a web site you trust chances are you just did that for 7Hops.com Inc (ZergNet) as well. If you are sane at all you answer No thanks! and at least with Googles Founding Choices you just removed all banners from that poor publishers site. Because you refused cookies essentially. They are working on fixing that they say.
Or then you go in and click around the options for a minute or so. Still, unless you spend an hour removing all those A.Mob and Bucksense Inc and Eporn Ltd and HUAWEI ads and Kwanko and Outbrain UK Ltd and Roq.ad Inc, well you are giving them permissions too.
You trust RhytmOne DBA Unruly Group Ltd, don't you?
How could anyone ever have made a worse mess out of privacy protection? The popups will invade everyones web browsing for ever and the end result is that most everyone gives permissions to crazy shit ad tech vendors they would never trust. And a growing minority will say no to everything killing ad income for small publishers. How is this better than any other outcome?
I am really glad I am out of the publishing industry within a month.19
Apple, the shiny toy maker has made a cpu of their own again. And now they are trying to make an internet protocol. Well. Soon the toy users can completely in their own universe. Bye, bye!3
So the news are in and Apples M1 is actually a pretty mediocre performer. No surprise, the first Power PC G5 was marketed as the worlds fastest computer too. And well, it was not anywhere close to fast in reality.
Apple remains the same, all talk.31
I have almost stopped reading news online because of all these idiotic consent popups. I don't care to give consent specifically on every damn web site I visit. GDPR has spoiled the internet. I understand the purpose but it is so a failure. It's not each publisher that should ask for approval of technologies on their site. It's the tech providers that should ask and get approval for what they provide and use, not every bloody blogger who can't know even what to ask. The EU screwed up, as it always does.14
Waiting for a gigabyte level download... Why? Cause I want to clear the file cache in a project I am working on. And the tool for that requires this load of dependencies.
Is there any field of human endeavour that is less efficient than ours?1
Just cos everyone loves react so much I give it a new try.
npx create-react-app test
And I have a folder test that weights in at 266 MB. And an environment that will completely disguise any JS error I might create. For what bloodymir gain?5
I logged into Google Ad Manager and clicked Change History. But it is a fake. There is no way to change history there! I can only view, sort and filter history. Weak Google!5
I can't understand why the shitty python sickness is allowed to exist in a systems context. Now that Ubuntu 20.04 uses netplan I have to check the number of spaces on each line before relying on a network config. Yaml sucks. A space to many or to few brings down your server networking. Throw this shitty lang out!16
Last week my first pull request to our company's Haskell project went into production. At the tender age of 52 I am a true beginner at Haskell, having read half a book and tried it out between other tasks for a couple of weeks before that. I would never have went for learning Haskell if I would not have had to but I am glad I did. And it will take a long time before I reach any sort of mastery.
Adobe is going to close my account if I don't log in before 60 days have past. I will loose everything I have there. I am so scared!5
It's kinda cute how people think strict typing is going to prevent bugs and make software reliable. It's all the rage now. I am not saying that there is anything wrong with strict typing but after all it was the original state of affairs and dynamically typed languages where developed to fix it.
Same hype with pure functional programming. It's going to push bugs out to the edges and make everything work. The pursuit of purity is no new thing and it breaks down on contact with the real world, such as a complex JSON. A switch to Haskell won't change that much. I have seen people hunt peculiar bugs in Haskell for ages.8
difp s[y fody
Offset my hands one key to the right when I wrote sudo apt dist-upgrade... Tab didn't work though.
This is why Linux is simply better. Ubuntu 20.04 is already significantly faster than 18.04.
With every version Linux get better. With every new version of winbloat you need a faster computer.40
Dammit the missing of stuff! For the life of me I cannot understand how I have missed that you can set vi mode in bash simply by putting set -o vi in .bashrc.
This so basic and so good and I have been soooo dumb to have missed all these years. Kick me, can't do it myself.2
Just got my door code in a text message for my room at the Apple Hotel. Comparing to the new Atari Hotel, https://atarihotels.com/
the Apple Hotel has a really crazy logotype, it's both Apple and Windows!
Hope both of them stick to the lodging business henceforth!3
Stuuuuupid! Who invents the crazy idiot ideas that somehow gets implemented in television sets? I stay at a new flat temporarily and connected my trusty little media computer to the Sony set. I was surprised to note that the tv didn't show the whole picture, the corners got cut of. First I thought the screen didn't support 1920*1080 but it did say 1080. I checked the display settings in Ubuntu and all seemed fine. Scratching my head I proceeded to look around the Sonys settings. As unorganized and ugly as these ui:s always are. And there it suddenly was, a setting with the default value enchanted and one other alternative: pixels. What the flying fishies?! Selecting pixels normalized the screen. So the default setting was to zoom the picture slightly to make it "better". What idiot made that innovation happen? It's like putting a lens in front of the screen. Stuuuuuuuupid! Whyyyyy?5
Hey guys, maybe you can help me out. I have wasted more time than I care to admit looking for a performant web socket solution. I want something that I can build on for several planned projects. Need high performance, low resource requirements and good stability. I don't trust server side JS.
I am very guilty of premature optimization.
I saw someone recommending Nchan, a addon to Nginx. Sounded good to me. Got it built and running. But it turned out in my initial tests that it ate CPU like crazy with just a few connections. Wasn't overly stable either. Everyone in the field claims great performance but few seems to deliver. Since I have been looking at Go based solutions because it's a language I know and it seems more promising for this than PHP.
Well the Go scene for web sockets is confused. The Gorilla ws does appearently not support concurrency, rather weak for a Go package. I tried others, like gobwas. Seemed good. Got it working but it won't work with SSL. So useless to me despite much promise. Most solutions I can find are maintained by just one or two people.
Anyone has any good advice?
Why Google, maybe you should have another think about Android night mode. I like the feature but for real! Dimming my display at 15.24, that's 03.24 PM for you non military time guys. I am not about to go to sleep soon! True, the sun is down and it's dark but still! This must even more silly closer to the polar circle where the sun does not rise at all.11
In a tiny galaxy far, far away there is the huge company XL and the tiny XS where I work, competing and sometimes cooperating. Both use the same horrible customer administration software called Y which is a windows-oracle mess but has a huge amount of complex domain specific business logic built in. So it can't really be replaced, just worked around.
XL have their work arounds, I am sure. We have ours but it's old and have needed to be replaced for years, let's call it The Problem. I am the guy who is supposed to keep it working while we wait for the right moment to build a new one. I always get called in to deal with The Problem at the last moment. It's only needed a few times a year. It's never a priority except at these times and then well, there is time only for the quick fix.
Now The Problem was once a good solution, actually pretty well built. You can still see some nice touches. It talks to the shitty API provided by Y and makes the most of it. But The Prob is written in a language-framework combination we no longer use for new projects. So a major update does not get favoured, especially since the guy who wrote it left a few years ago. And a total rewrite is a big project.
So The Problem lingers in use.
The stake holder mostly cares about how it looks, talking about technical debt to them just makes their eyes glaze over.
A couple of outings ago the stake holder boss wanted the web user interface of The Problem to look the same as the one used by XL because we ran a cooperative campaign. I managed to make them look very similar. Got some praise for that even.
Since then Y:s API has been updated with some big breaking changes. API calls that The Problem depends on have been heavily modified, even completely removed. With some really crazy hacks I still managed to make it work, just one more time.
Of course I again complained a bit. I loved the response:
- XL:s solution looks almost exactly the same so I'm sure they run what we are running. Why do we have so much trouble with Y when they don't?
Nooooo! It looks the same but... I just don't know what to say. But I do know the joke is on me.
Why do I get 'modify' links on everyone elses comments?
Am I running as an administrator?
I have often been impressed by Googles natural language tech. Today they have a new functionality in the video conferencing tool meet. You can activate captions. If the audio is reasonable it is quite good, even picking up some words I missed. But it also produces some hilarious fails. Still they do fantastic work on this!1
Really big problem with a detail in a Google example code. Working on a reporting service for Googles ad manager, pulling statistics based on Advertiser ID. Made good progress till I hit a wall trying to make the script work with command line arguments. All other arguments populated nicely but the choice of download format would not work. I read the documentation and studied Googles example. The example feeds a static function value "ExportFormat::CSV_DUMP". Worked. Changing the format worked too. But it was impossible to change it dynamically. I tried for hours but only got different error messages. In desperation I started reading the Google API source code for the function. Turns out the function called actually expects a string! Just giving the format string, like "CSV_DUMP" works perfectly. And makes a lot of sense. Have no idea why the examples uses ExportFormat and Paamayim Nekudotayim. Maybe they improved the code and stopped using a static function for this and forgot to change the example. Somehow the example also works...1
What I like about newish laptops is that the USB-C display port easily allows three screens. One of my work setups look like this. Complete with my therapy stone that I took from an Irish beach. It is very pleasant to the touch thanks to being moulded since eternity by the Atlantic ocean. Sunshine makes it pleasantly warm. The external screens are old 1680x1050 Dells. The are perfect for my old mans eyes. And my aging Das Keyboard is holding up well. If it's keys would have had imprinted letters they would have worn off by now.12
Sometimes I feel like an idiot and this time Google searches are not my friends. I have managed to get all the information I need from a Google API in one single call. It's all in the returned object. But the values are protected and they run deep. Now is there no elegant way to read them? I cannot imagine writing this:
$page->getResults()->$lineItem->getTargeting()->getCustomTargeting()->getChildren() just to find an Array inside the object. I want the first one so it goes on ->getChildren()->getKeyId()->getValueIds()
What is it I fail to grasp? Sure I could make it a bit more bearable with a loop but there must be a better way than iterating a new method for every level in a deep object! I understand the value of protection but I just want to bloody READ the values! And no, I wont var_dump.9
How can instagram be even remotely popular? It's just unbelievable shit. Clearly not made by people who know anything about photography. I mean routinely cropping images in app and on the web in a quite arbitrary fashion. If your picture is wide or high you cannot even upload it without cropping. Instagram is minimalistic in all the wrong ways. A useless tool for the snapper with little brain and no interest.
Nobody uses Flickr, which is quite a good service. It's VHS vs Beta / Commodore vs Atari / Trump vs Roosevelt but much much worse!14