702 karma · joined May 6, 2009
Software engineer and internet explorer.
Dublin, Ireland | Zagreb, Croatia
This is the thing: https://www.ryanair.com/gb/en/lp/explore/verification-hub
Basically, you have to download a random third party app and provide some very sensitive data, including filming yourself.
I was once caught by this, even though I actually used Ryanair's site directly. My assumption is that it was due to a Cloudflare/VPN IP, so I might have looked like a bot.
I was pissed, more due to random third party app, vs 50 cents charge, so I decided to bluff and ping their support and start complaining.
I asked them to tell me exactly what caused my purchase to be tagged with this. I demanded I have the right to that data, and quoted things like GDPR and other consumer protection laws (e.g. hidden fees protections). After several layers of random agents sending me around, I got forwarded to some managers and folks with non-support titles (based on LinkedIn), as I kept pushing to get logs and details.
I wanted all data associated with this request, and all third parties that got access to my purchase details, quoting the part of ToS where I allowed for this...
Eventually, they admitted it's a vendor, they don't have details, and use a third party for detection. They said they have a whitelist and added my email to that whitelist so I never get miss-tagged as a bot.
I caved/sold out and didn't push further. I am still pretty annoyed that we are OK with companies doing this. (I understand I'm part of the problem as I ended up flying and only adding a bit of support load to their queue in the end)...
The OKR book assigns most of Google's success on OKRs. Assuming there is an alternate reality somewhere, where Google chose SMART goals in that critical point in time. In that timeline Google of today is one floor below Yahoo in some random Verzion corporate building.
I haven't seen a goal management system yet that I cannot destroy with bad management and misaligned incentives.
But, I had the same argument for Apple watch - no one in my circle was wearing watches any more. However, that didn't prevent people to start wearing an Apple watch.
So, I can definitely see a future where people who don't wear glasses choose to wear smart glasses.
Completely anecdotal and probably another extreme of the coin - but I'm curious if folks have some experience with this and how to spot this case.
Many tech companies are optimising for having hundreds of new features and products developing on top of the current stack, and allowing quick iterations, taking bets on things that might or might not have the market for it.
You can fire all civil engineers in the country and bridges will not collapse immediately. But you won't get any new bridges built. Also - at some point you might learn which ones had structural issues hidden by maintenance.
I've used it as a source of instrumental, good enough music. I'm not sure if the other "sciency" stuff actually worked. I didn't use it for a while now, partially due to a lack of macos native app.
I think this is a great question to use as a thought exercise. We don't see the designs that fail, as they don't pass the review? Using the analogy of software engineering being the design stage (vs build/construction stage), this would be a closer comparison. How many skyscraper designs fail before they end up being "uptaken".
Also, just because buildings don't collapse and fail catastrophically, I assume there are many flaws in the design that get "worked around" during construction. Many flaws (bugs) do likely end up "in production", but they are more of a technical debt type of issue that will be a burden for building maintenance and/or future tenants.
Or, maybe there should be no engineering strategy, at least not an explicit one written down?
But that is not what happens.
First problem is - majority of mature enterprise systems (which tend to use Oracle), are not designed in such a schoolbook way, so that's you first problem. Codebases are ugly and teams loose the knowledge to maintain some parts that are mature and work mostly ok - often the DB layer.
Another concern is regressions in the product that is hard to properly test for. Minor details that are exposed by even small changes in DB behaviour or performance, that won't get caught in testing, but will cause an impact when your next scheduled job happens to fall on the first friday of that one month where the customer has that very special report that is just slightly so different and runs only once every 7 years.
Another major pain point are operational concerns. When dealing with DB technologies, managing, deploying, operating your back end DB servers can be quite a different beast. In theory your teams should be able to handle it, as they are experienced engineers that know how to learn new tech quickly. In practice, you don't have money for those, and your team is lazy and doesn't really want to learn that new cool tech, just let them do their job.
And finally, if it all "just works" at the moment, it is a hard sell to switch such a fundamental part of the system and properly validate the investment versus the risks.
And this is all if you're not a super user of Oracle specific pieces, surrounding tooling or consultants/expertise.
Would be nice to have privacy.com more widely available.
Fellow developers not aware of the business requirements, or fellow developers not being able to see things from the business perspective and where the money comes from. I know, our code is not monadic enough, but we do really need to solve that problem affecting customer X before end of September, or there won't be enough money in the bank to pay for that fresh avocado on Monday morning.
Using e.g. gRPC shows great promise, but systems like ZooKeeper still play nicer in more traditional Java shops, or do they? How hard is it to use etcd from the JVM?
If you look at it from high above, it would be like replacing the implementation of the current banking system with a more modern stack, but still leaving a similar human interface with the same level of features.
Would this make sense?
https://scn.sap.com/people/desiree.matas/blog/2011/12/07/sap...
Here is a presentation with some interesting points, wonder if anyone has any real-life experiences?
This would be especially important if Cataclysm was man-made.
Remove Corba references, and it might apply to many other past and current pieces of technology:
"There are no entry qualifications to participate in the standardization process. Some contributors are experts in the field, but, to be blunt, a large number of members barely understand the technology they are voting on. This repeatedly has led to the adoption of specifications with serious technical flaws."
“Vendors respond to RFPs even when they have known technical flaws. This may seem surprising. After all, why would a vendor propose a standard for something that is known to suffer technical problems? The reason is that vendors compete with each other for customers and are continuously jostling for position. The promise to respond to an RFP, even when it is clear that it contains serious problems, is sometimes used to gain favor (and, hopefully, contracts) with users.”
"SQLite does not compete with client/server databases. SQLite competes with fopen()."
GWT is nice, but I remember a lot of frustration came from buggy dev modes and compilation times.
There are two quick solutions on the operational side that can be deployed to prevent this:
- Run each zk server node with the JVM OnOutOfMemoryError flag, e.g. like this: -XX:OnOutOfMemoryError="kill -9 %p"
- Have your monitoring detect an OOM in the zookeeper.out log, and use your supervisor to restart the failing ZK node.
ZooKeeper is designed to be fail fast, and any OOM should cause an immediate process shutdown, ofc continuing with an automatic start of a new process by whatever is supervising it.
They do solve similar problems, but their interface and their operational side is different. This would require some major work for the current ZooKeeper users.
As far as I know, there is no current system that tries to implement the same interface as ZooKeeper so that you could just plug it in wherever ZK is expected.
Chapter 2.2.3: Sequences as Conventional Interfaces,
http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-15.html...
"The value of expressing programs as sequence operations is that this helps us make program designs that are modular, that is, designs that are constructed by combining relatively independent pieces."
"A well-designed communications protocol has a number of characteristics."
<list of characteristics>
"Rsync's protocol has none of these good characteristics."
...
"It unfortunately makes the protocol extremely difficult to document, debug or extend. Each version of the protocol will have subtle differences on the wire that can only be anticipated by knowing the exact protocol version."
This is why it is very hard to implement a client program that can communicate with the standard rsync deamon on a server. You can always use the rsync program itself to communicate with the server, but this is not always an option. If it is - it can get ugly. On windows, you need cygwin or similar to run rsync.exe, which can complicate the deployment of your desktop app or shell extension.
An easy rsync client API would be useful if you were building an app that can store files on an rsync server, because the rsync utility and the rsync algorithm are great ways to efficiently syncronize files.
For those that are not in the Java land - the whole Java ecosystem is heading in an interesting direction.
Not just the platform (with all the other jvm languages), but the java language itself. Using Java 8 and some of the new features, suddenly standard Java code starts looking more and more modern. Add to this some interesting developments in the framework land, like NIO with Netty, Gradle combined with maven repositories for dependancy management, even new developments in entrenched stuff like Spring or JavaEE...
The community and the ecosystem is slowly evolving outside the whole enterprise monstrosities. It will be interesting to observe the platform in the next couple of years.
It is a different concept, but similar enough. After a couple of years still not available.