tag:blogger.com,1999:blog-44341083477276592512024-02-20T19:22:12.168+01:00Compas PascalAn experienced software developer from Denmark blogs about software developmentUnknownnoreply@blogger.comBlogger162125tag:blogger.com,1999:blog-4434108347727659251.post-72062507763682767482017-10-28T09:44:00.004+02:002017-10-28T12:47:31.417+02:00Data models in DBs and GUIs differThere can be a huge difference between the data model used in a database, and the data model that the user needs. There can also be multiple data models in the same system, based on a single database data model.
When you learn about databases, the first books about databases have a direct match between what is in the database and what is shown to the user. A typical example is a customer list, Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4434108347727659251.post-46075225388365048882017-04-13T13:06:00.000+02:002017-04-13T13:06:05.506+02:00TIOBE Index update - top 4 languages are going downThe TIOBE index shows:
Top 4 languages are going down (Java, C, C++, C#)
Delphi is now significantly more than 50% the size of Microsoft C#
JavaScript and Delphi are keeping their share
R is going up, fast
It seems that there is a general move away from mainstream languages, towards other languages like JavaScript, R, PHP etc. R is probably rising because of the need for more data analytics, Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-4434108347727659251.post-4379972133487018472016-09-02T15:24:00.006+02:002016-09-02T15:24:57.301+02:00System architecture and QA in managementAs IT becomes a bigger part of everyone's business, so does system architecture and QA. Whenever we see a big IT project that fails, the cause of the failure often comes from having management that does not pay enough attention to system architecture and QA.
I think all readers of this blog have seen managers, that take decisions based on a typical project management approach, where physical Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4434108347727659251.post-57254713193221700282015-03-08T14:33:00.000+01:002015-03-08T14:33:04.876+01:0035 years old Arduino-like setup with PascalI do not care much about products or constructions from the past, that cannot be reproduced or used, but in this case, my brother's old construction from the late 1970s made me look again, because it looks so much like what people do with Arduino kits.
This is a computer programmed using Compas Pascal or Turbo Pascal:
Specs:
CPU: Zilog Z80, of model Z80CPU01. This is probably running Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-4434108347727659251.post-76752387413854326432015-01-07T10:34:00.003+01:002015-01-07T10:34:29.204+01:00Test-driven programming guidelinesWe all know about test-driven development. How many actually do this? Well, medical device software is made this way. Maybe the tests are not automated, but developers are required to establish verifiable requirements before starting to write source code. Since you only know if a requirement is verifiable, if you know the verification method, that means that you must know a verification method, Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-4434108347727659251.post-19593547378680719652013-02-26T09:15:00.002+01:002013-02-26T09:16:32.372+01:00Turning the V-model upside down: The A-modelThe V-model is well known in many software development models:
However, this drawing, which is very representative for V-model drawings, has several inconsistencies. One of them is the arrow, that goes back in time. Another one is, that it puts Operation and Maintenance into the Project Test and Integration side. I have seen many V-model drawings, and I never really felt comfortable with Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-4434108347727659251.post-6481785515645732392011-12-26T18:43:00.003+01:002011-12-26T18:43:46.826+01:00Process management for software development companiesOur bugtracker system has grown far beyond bugtracking, and that is the time where you need to realize, that bugtracking is not much different from managing a construction site, a catering company or many other kinds of businesses. It's all about automating the process, and this requires a generic process-automation tool, and not a bugtracker. So, why do people still get and install bugtracking Unknownnoreply@blogger.com11tag:blogger.com,1999:blog-4434108347727659251.post-80040341430283835952011-07-23T12:12:00.001+02:002011-07-23T12:26:14.240+02:00Google+ is a different approachMany try to compare Facebook with Google+, and often they conclude that Facebook har more friends, so they will not switch to Google+.
However, Google+ should not be analyzed as a Facebook killer. It isn't. Facebook has a huge head start, and even though Google+ has grown extremely fast, most current users were already gmail users. For those that do not have Google accounts, Google+ is not as Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4434108347727659251.post-24949268450980584372011-06-06T08:32:00.007+02:002011-06-06T08:38:11.528+02:00Is WPF+Silverlight dead on Windows?Does anybody still remember WinForms? If you think WinForms is old outdated technology, and WPF is the new and cozy, you might want to go on Youtube and look at the Windows 8 previews. Microsoft was dead serious when they embraced HTML5 and JavaScript last year, HTML5 and JavaScript seems to be the new toolkit for writing GUIs for Windows. In case that you wonder how JavaScript relates to other Unknownnoreply@blogger.com12tag:blogger.com,1999:blog-4434108347727659251.post-84058824294352607972011-03-31T07:27:00.001+02:002011-03-31T07:30:39.293+02:00OOP Spaghetti code explainedThe term "spaghetti code" is usually attributed to pre-OOP code, but there is a lot of OOP code out there that is definitely entangled and a mess. I have seen quite some of it in my carreer, and this kind of spaghetti is characterized by its dependencies.
An class is nothing else than a data structure with associated code, mainly written in a way that puts both into the same source code file. Unknownnoreply@blogger.com4tag:blogger.com,1999:blog-4434108347727659251.post-63362790117026850902011-03-30T08:55:00.002+02:002011-03-30T08:58:21.929+02:00Why startups don't use .netThere have been several articles over the last couple of weeks about the usefulness of .net for startups. I will mention three:
* Did the Microsoft stack kill MySpace?
* Why we don't hire .net programmers
* Why Microsoft could kill your startup career
Even though our company is now several years old, our HQ is still located in an office facility that is mainly for startups. Well over the time Unknownnoreply@blogger.com9tag:blogger.com,1999:blog-4434108347727659251.post-57161322266937052352011-03-04T20:22:00.000+01:002011-03-04T20:22:58.870+01:00Apple leaves the PC eraIn the recent iPad 2 announcement by Apple, Steve Jobs revealed, that Apple now earns most money on post-PC products like iPad, iPod, iPhone, Apple TV etc. This tendency does not need to continue for a long time, before the Mac computers are reduced to merely strategic products for the company.Unknownnoreply@blogger.com6tag:blogger.com,1999:blog-4434108347727659251.post-25438023277238452952011-02-12T14:32:00.001+01:002011-02-12T17:43:39.380+01:00Why Microsoft and Nokia have a chanceMany iPhone and Android fans don't believe that Nokia and Microsoft have much chance to succeed. While everybody agrees that they wouldn't have a chance without good partners, few seem to agree that they can do much together. The most frequent explanation is that their level of innovation is too low, and their R&D doesn't really work.
Most people, however, don't care about the phone Unknownnoreply@blogger.com10tag:blogger.com,1999:blog-4434108347727659251.post-1745196901431531292010-12-19T11:38:00.001+01:002010-12-19T11:39:17.761+01:00The future of C#, the bloat explosion, and what happened insteadLooking back on this video with Anders Hejlsberg, about the future of C#, from march 2009, or this blog post about the upcoming bloat explosion, seems quite awkward with the current explosion of iOS and especially Android. There are numerous awkward parts in the video: The focus on objects, the "huge amounts" of memory and the statement that multithreading is the exception.
As readers of this Unknownnoreply@blogger.com18tag:blogger.com,1999:blog-4434108347727659251.post-88105454589772506942010-12-10T08:20:00.008+01:002010-12-10T08:53:19.790+01:00Android sells better than Windows to consumersIf you combine a few news articles, things get interesting:
http://www.guardian.co.uk/technology/2010/nov/29/apple-ipad-cannibalising-pc-sales
"Gartner forecasts that worldwide PC shipments for 2011 will reach 409m units" = 1.1 million per day. It is fair to expect less than 40% of these sales to be for consumers. This is an 18% growth, meaning that in 2010, we can expect PC sales to reach 138 Unknownnoreply@blogger.com24tag:blogger.com,1999:blog-4434108347727659251.post-16683467740313204132010-11-26T19:15:00.000+01:002010-11-26T19:15:36.730+01:00GTK+ app interfaces using HTML5This impressive demo of a web application deserves more publicity. I am quite sure that this is not the last GUI toolkit that interfaces with generic web browsers.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4434108347727659251.post-46084707717338983242010-11-21T21:44:00.002+01:002010-11-21T21:52:03.740+01:00R.I.P Microsoft Windows?Microsoft is usually very good at presenting new products years ahead of the actual launch - but there continues to be a very remarkable absence of a single strategy for support of Windows applications or Windows as a well integrated desktop.
Android provides many improvements that Windows does not offer as part of the standard platform:
* Easy app discovery and installation (Android Market)
* Unknownnoreply@blogger.com7tag:blogger.com,1999:blog-4434108347727659251.post-83434322334807212552010-10-03T10:02:00.005+02:002010-10-03T10:10:43.609+02:00TIOBE index decomposedThis post presents a different way to look at the TIOBE index. Of the top 20 languages, I exclude non-generic languages, like SQL or MATLAB. The next is to group the languages by performance characteristics:
Compiled languages that produce very fast apps:
* Ada
* C
* C++
* Delphi, Pascal
* Objective-C
Garbage-producing languages:
* C#/VB.net
* Google Go
* Java
Languages that produce slow apps:Unknownnoreply@blogger.com13tag:blogger.com,1999:blog-4434108347727659251.post-27220235577353117102010-07-10T08:50:00.000+02:002010-07-10T08:50:26.103+02:00What Nokia must do to stay relevant in mobileNokia is losing market share fast, which is being discussed in many places. Nokia's CEO Anssi Vanjoki also expressed his view on this topic.
The number of mistakes, that Nokia currently does, is huge, let's take a few:
* Focus on OS technology instead of customer-centric parameters. As Anssi puts it: "The current phase of MeeGo development is looking awesome."
* Believing that the window of Unknownnoreply@blogger.com6tag:blogger.com,1999:blog-4434108347727659251.post-50691017929252327312010-07-02T21:16:00.002+02:002010-07-02T21:17:31.479+02:00Apple iPhone 4 signal strength indicator highlights a common problemIt is old knowledge that if progress bars go faster at the end, the user is happy. In other words, if the progress bar is modified so that it doesn't show the perfect progress percentage, you get a better customer satisfaction.
The same principle applies to other indicators, like battery indicators and mobile phone signal strength. Many phones don't seem to lose battery energy until the very Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-4434108347727659251.post-39855278138031905512010-06-17T11:53:00.008+02:002010-06-18T08:23:27.063+02:00Poul-Henning Kamp popularizes algorithm research"Think you've mastered the art of server performance? Think again." Poul-Henning Kamp recently published this article with the quote, which basically says that a binary-heap tree structure is inefficient and should not be used. Poul-Henning (PHK) has recently spent more of his spare time on blogging and making his views known to the public, and he writes articles that often spark great debates.
Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-4434108347727659251.post-36147090415991024792010-05-24T08:46:00.001+02:002010-05-24T08:48:09.875+02:00Sandboxed vs. Trust, sandboxing winsOne of the most basic principles on Windows, in order to prevent malware, is that you trust your software provider. There are many trust mechanisms, including driver signing, website signing, remembering whether a file was downloaded or was produced locally etc. The idea is, that if you can trace the origin of the file, you can make the provider liable. If you need to break the trust chain, for Unknownnoreply@blogger.com4tag:blogger.com,1999:blog-4434108347727659251.post-67896744106625962802010-04-24T10:29:00.002+02:002010-04-26T11:09:38.724+02:00How Android beats Windows 7 laptopsLately, many have started to use their phone for tasks, for which they previously used a PC - including updating online spreadsheets etc. The PC features much better input and output devices (keyboard, mouse, screen), so why use the phone for these tasks? Here is a list of why it makes sense to use an typical Android phone instead of a Windows 7 laptop for many tasks:
* The laptop does not have Unknownnoreply@blogger.com11tag:blogger.com,1999:blog-4434108347727659251.post-21062793042179685692010-04-11T15:20:00.003+02:002010-04-11T21:48:13.622+02:00In defense of the iPhone 4.0 SDK section 3.3.1There have been many blog posts about the new iPhone 4.0 SDK which do not like section 3.3.1 of the developer license agreement, which says:
3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and onlyUnknownnoreply@blogger.com11tag:blogger.com,1999:blog-4434108347727659251.post-47122479915605128802010-04-10T11:53:00.004+02:002010-04-10T12:02:23.609+02:00Google Android reviewed by a Delphi developerWith the major part of my background in Delphi, but also some in C, C++, Assembler, Java, C# and others, I threw myself at the Android platform in order to figure out how it works.
The main language is Java, the obvious IDE is Eclipse, and after installing the Android SDK things are well integrated with each other. The fundamental structure is very similar to Delphi - but things have different Unknownnoreply@blogger.com7