tag:blogger.com,1999:blog-83133719099334767642024-02-24T20:46:04.187+00:00Database Performance TuningSharing real world experiences on database tuning. A place to think about and discuss database performance tuning. Have fun.Consultuninghttp://www.blogger.com/profile/07362336620660791545noreply@blogger.comBlogger73125tag:blogger.com,1999:blog-8313371909933476764.post-11541328954983179512023-11-28T10:06:00.000+00:002023-11-28T10:06:24.672+00:00Trunk based development sounds great. Here's why you should probably not do itMostly via Dave Farley's YouTube channel I'm lately involved in a lot of discussion regarding the "Trunk Based" development practice, touted together with continuous integration (CI) and continuous delivery (CD) as the next step in software development productivity.As a short summary, this practice means that your branches are never older than a day, because you commit changes to main very, very Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8313371909933476764.post-3256442943868372702023-06-21T21:41:00.000+01:002023-06-21T21:41:04.170+01:00On uniqueness and MD5 hashesCame across this today: someone needs an unique key, but thinks that Python's uuid4 is not unique enough. The proposed solution? Just get the MD5 hash of the uuid.No, passing your non unique identifier thru the MD5 formula won't make it more unique. In fact, it will create something equally non unique as your initial uuid. Only larger.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8313371909933476764.post-19648273031106468662023-03-05T22:01:00.000+00:002023-03-05T22:01:51.211+00:00The "You do not need foreing keys" crowdCan't help but notice a current trend advocating that foreing keys on database schemas are just a burden that you can do without. The last argument I read about it was along the lines of:FKs are enabled on dev, testing and staging. Your automated test suites and your manual tests of your application in those environments and FKs help you catch data integrity problems.Once you fix all problems, Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8313371909933476764.post-65940179291645144452021-05-25T16:35:00.000+01:002021-05-25T16:35:11.867+01:00Fighting your framework: don't do itNew role, new opportunities. This time I'm off Python, or at least not being the main development language, and into Java. But starting to see the same patterns emerge.My new job involves using Java, specifically, Spring Boot. You may have a lot of arguments against Spring in general, and I'd agree with most of them. However, it is hard to find another framework with such extensive coverage on a Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8313371909933476764.post-70731858621485090512020-06-22T22:34:00.000+01:002020-06-22T22:34:37.422+01:00Microsoft is changing. This time is for realAfter installing the latest W10 update (this time without the usual associated multi-reboot drama, luckily) I see that finally, Windows has a decent, capable browser that is fast, secure and compatible with modern standards. The only small wrinkle in this glossy picture is that said browser no longer comes completely from Microsoft, but is really a kind of Google's Chrome fork.
Leaving aside theUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-8313371909933476764.post-36936122056295686162020-02-12T22:15:00.000+00:002020-02-12T22:15:00.436+00:00Four years is quite a long timeBut yes, four years. That's how long I've been absent from this blog. To be blunt, this blog started as a means to achieve a double goal: share some experiences while at the same time vent some frustrations coming from the frictions that happen in the day to day operations of an IT shop. Mostly centered around the role of databases in the business IT world, but ended up covering all topics that IUnknownnoreply@blogger.com1tag:blogger.com,1999:blog-8313371909933476764.post-57827584319967821062015-06-22T22:42:00.000+01:002015-06-22T22:51:27.395+01:00Django and Python best practices
After a few weeks reading an extensive, and quite complex, Python/Django code base, I’ve realized that there are a few simple practices that can make a significant difference in how effectively and quickly one can pick up an application. Not being up to now an intensive Python user, I was expecting to catch up on the code with more or less the same level of effort it takes me to grasp a piece ofUnknownnoreply@blogger.com1tag:blogger.com,1999:blog-8313371909933476764.post-21425174356991410962015-05-04T21:13:00.000+01:002015-05-04T21:13:19.076+01:00Javascript: has everyone forgot how it became what it is?
From time to time there's the occasional question from people that think that I'm really smart and ask me about advice on which programming language they should learn to ensure they have a good career ahead. Of course, I try always to answer these questions instead of focusing on the real question, which is why they think I'm so smart when in fact I am not.
And things always end up Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8313371909933476764.post-11888987092087878702015-05-04T18:52:00.000+01:002015-05-04T19:05:45.355+01:00Three guys in a garage, the NIH syndrome and big projects
As the old adage says, experience is the root (or perhaps was it the mother?) of science. Nowhere near software development, it seems. For what is worth, not a week passes without another report of a disastrous software project being horrendously late, over budget, under performing or all of these at the same time.
Usually, these bad news are often about the public sector. Which are usually Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8313371909933476764.post-38955226236499364032014-11-02T23:52:00.001+00:002014-11-02T23:52:31.197+00:00Accidental complexity, Excel and shadow IT
You probably have felt like this. You've devoted some intense time to solve a very complex and difficult problem. In the process, you've researched the field, made attempts to solve it in a few different ways. You've came across and tested some frameworks as a means of getting close to the solution without having to do it all by yourself.
You've discarded some of these frameworks and kept Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8313371909933476764.post-50050610127090960992014-08-18T18:00:00.000+01:002014-08-18T18:00:38.747+01:00The code garage - What to do with old code?From time to time I have to cleanup my hard disk. No matter how big my partitions are, or how bigger the hard disk is, there always comes a point where I start to be dangerously close to run out of disk space.
It is In these moments when you find that you forgot to delete the WAV tracks of that CD you ripped. That you don't need to have duplicate copies of everything you may want to use from Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8313371909933476764.post-70537227286997718792014-04-14T22:49:00.000+01:002014-04-14T22:49:35.340+01:00Heartbleed: the root causeI can't resist on commenting this, because Heartbleed is the subject of countless debates in forums. In case you've been enjoying your privately owned tropical island for the past week or so, Heartbleed is the name given to a bug discovered in the OpenSSL package. OpenSSL is an Open Source package that implements the SSL protocol, and is used across many, many products and sites to encrypt Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8313371909933476764.post-78766918508239813892013-08-26T12:41:00.000+01:002013-08-26T12:41:24.022+01:00What is wrong with security: "don't use bcrypt"You know, security is lately one of my biggest sources of irritation. More so when I read articles like this one. On the surface, the article is well written, even informative. But it also shows off most of what is currently wrong with computer security.
Security, like most other areas of the IT world, is an area of specialization. If you look around, you'll see that we have database, operating Consultuninghttp://www.blogger.com/profile/07362336620660791545noreply@blogger.com0tag:blogger.com,1999:blog-8313371909933476764.post-59269856820078530362013-05-17T10:49:00.000+01:002013-05-17T10:49:44.549+01:00IT Security: the ones following the rules are those without enough power to override themWith all the talk about IT governance, risk management, security compliance and all that terminology, it seems that most IT people ignore the realities of the environment they are working on.As an example, let's have a corporate security department, defining security standards and imposing them on the IT organization for almost all possible situations. All in the name of keeping the company away Consultuninghttp://www.blogger.com/profile/07362336620660791545noreply@blogger.com0tag:blogger.com,1999:blog-8313371909933476764.post-28248476269718909362013-04-15T10:38:00.000+01:002013-04-15T10:38:54.599+01:00Record retention and proprietary data formatsMy recent experience with an application upgrade left me considering the true implications of using proprietary data formats. And I have realized that they are an often overlooked topic, but with profound and significant implications that are often not addressed.
Say you live in a country where the law requires you to keep electronic records for 14 years. Do you think it is an exaggeration? Consultuninghttp://www.blogger.com/profile/07362336620660791545noreply@blogger.com1tag:blogger.com,1999:blog-8313371909933476764.post-22714396795036960762013-02-11T00:04:00.000+00:002013-02-11T00:04:23.473+00:00I just wanted to compile a 200 line C program on WindowsWell, 201 lines to be exact. How fool I was.
Short story: we have a strange TIFF file. There has to be an image somehow stored there, but double clicking on it gives nothing. By the way, this file, together with a million more of them, contains the entire document archive of a company. Some seven years ago they purchased a package to archive digitized versions of all their paper documents, and Consultuninghttp://www.blogger.com/profile/07362336620660791545noreply@blogger.com0tag:blogger.com,1999:blog-8313371909933476764.post-67552996292864028462013-02-05T14:19:00.002+00:002013-02-05T19:19:55.594+00:00The results of my 2012 predictions - 3 wrong, 8 rightA bit late, but time to review what has happened with my 2012 predictions. Since the score is clearly favorable to me, please allow me the time to indulge in some self congratulation, and offer also my services as a technology trend predictor at least better than big name market analysis firms. No, not really. But nonetheless having scored so high deserves some self appraisal, at least.
The badConsultuninghttp://www.blogger.com/profile/07362336620660791545noreply@blogger.com0tag:blogger.com,1999:blog-8313371909933476764.post-84192304073341446602013-02-05T12:45:00.000+00:002013-02-05T12:45:05.937+00:00Developing Android applications with Ubuntu - IIIt has been a few months since my latest post, and I've been quite busy with other interests during these times, but finally got some time to reflect and post a few updates.
Last time I wrote something, it was my intention to start playing around with Android applications.
Note that in this context, "applications" means software packages
where the final user is also the one who is paying for Consultuninghttp://www.blogger.com/profile/07362336620660791545noreply@blogger.com2tag:blogger.com,1999:blog-8313371909933476764.post-629577500899377942012-05-06T22:10:00.003+01:002012-06-16T21:35:29.219+01:00Developing Android applications with Ubuntu - I
The journey begins
What? Hey, you are usually focused in ranting about random topics, database performance, and generally proving the world how smart you are. Why then this sudden curiosity for creating an Android application?
It is part curiosity, part opportunity. As they say, opportunities are there waiting for someone that is in the right place at the right time to Consultuninghttp://www.blogger.com/profile/07362336620660791545noreply@blogger.com7tag:blogger.com,1999:blog-8313371909933476764.post-15618718530240735772012-03-21T23:31:00.004+00:002013-02-05T10:44:43.344+00:00Microsoft is now a niche player
If you're about to purchase a smartphone, a tablet, or even a PC, you probably have already noticed it: Microsoft now has become a niche player.
It is all about how the balance of producers and consumers of content has evolved. When the PC revolution started, PCs were used to create content that was consumed by other means. PCs were, and they are still, used to create music, graphics, movies, Consultuninghttp://www.blogger.com/profile/07362336620660791545noreply@blogger.com8tag:blogger.com,1999:blog-8313371909933476764.post-39210814290248860022012-02-29T21:31:00.000+00:002012-02-29T21:31:06.792+00:00Is there a right way of doing database version control?TL;DR: database version control does not fit well with source code version control practices because challenges associated with data size.
I could not help but think about posting a comment on this well written blog post, but realized that it was a topic worth discussing at length in a separate entry. If you've not clicked and read already the rather interesting article, here's the summary: Consultuninghttp://www.blogger.com/profile/07362336620660791545noreply@blogger.com7tag:blogger.com,1999:blog-8313371909933476764.post-334093117359783072012-02-07T20:27:00.000+00:002012-02-08T11:10:06.086+00:00The changing goals of CanonicalToday, Canonical announced that they are relegating Kubuntu, one of their "official" variants of their flagship Ubuntu Linux distribution, to the same status as the other distribution derivatives.
Canonical is the brainchild of Mark Shuttleworth, a dot
com boomer that wanted to give back to the same community that provided some
of the
wonderful FOSS software that helped him becoming a Consultuninghttp://www.blogger.com/profile/07362336620660791545noreply@blogger.com0tag:blogger.com,1999:blog-8313371909933476764.post-75222424037709856862011-12-29T20:48:00.001+00:002012-02-07T18:21:21.468+00:002012 predictionsUnlike other years, where I wrote my "predictions" entry at the end of the year, this time I'm going to try to predict what is going to happen in a few technology areas in 2012. Oh yes, another not so database centric post. Well, it does have some database content. Read on.
First, I don't believe in the "the year of...." idea. At least applied to technology, it does not make much sense. There Consultuninghttp://www.blogger.com/profile/07362336620660791545noreply@blogger.com0tag:blogger.com,1999:blog-8313371909933476764.post-71143175626962347802011-11-16T08:09:00.001+00:002012-02-07T20:35:28.456+00:00Unity and the mismatch of user interfaces, or how I learned to hate the overlay scrollbars
During my first years of Linux, I switched between KDE and GNOME at the same time as I switched distributions, or more exactly, as each distro had a different default desktop environment. Later on, I began switching when each desktop environment leapfrogged others with new fancy functionality.
Then, some time ago, I settled on KUbuntu, and keep using it for my day to day desktop users. I'm Consultuninghttp://www.blogger.com/profile/07362336620660791545noreply@blogger.com0tag:blogger.com,1999:blog-8313371909933476764.post-75777587018352755752011-10-15T23:19:00.000+01:002011-10-15T23:19:49.191+01:00iOS5 is here
iOS5 update is here. I applied to my iPad. The process is more or less the following (PC version):
- iTunes version update, of course after the update you need to reboot Windows. Why on earth you need to reboot Windows to update iTunes is beyond me. This is a mere 70MB download that installs pretty quickly, and thankfully Windows 7 boots fast.
- After the iOS5 release, lots of apps have been Consultuninghttp://www.blogger.com/profile/07362336620660791545noreply@blogger.com0