is a remarkeble number, and forty-two is what Jeroen turns today.
Jeroen won’t panic, as he lives on a mostly harmless planet, and plans to live for quite a while longer.
Don’t forget your towel today!
–jeroen’s alter ego
Posted by jpluimers on 2011/04/29
is a remarkeble number, and forty-two is what Jeroen turns today.
Jeroen won’t panic, as he lives on a mostly harmless planet, and plans to live for quite a while longer.
Don’t forget your towel today!
–jeroen’s alter ego
Posted in About, Personal | Leave a Comment »
Posted by jpluimers on 2011/04/28
when developing embedded Windows software, SQL Express can be a good option.
However, embedded usually means you can’t install a big tool-set (like SQL Server Management Studio or SQL Server Profiler) on the target system.
So if you want to monitor or profile it, you need remote access to your SQL Express instance (usually SQLEXPRESS).
The How to: Configure Express to accept remote connections – SQL Server Express WebLog article on the SQL Server Express WebLog and the KB article How to configure SQL Server 2005 to allow remote connections explain the details.
This is a short summary:
Finally connect to your SQL Express server by using SQLCMD:
SQLCMD –S machinename\SQLEXPRESS –Usa –PSom3StrongP@assword
–jeroen
Posted in Database Development, Development, SQL Server | Leave a Comment »
Posted by jpluimers on 2011/04/27
When (re)encoding files through BASS:
–jeroen
Posted in BASS, Development, Power User, Software Development | Leave a Comment »
Posted by jpluimers on 2011/04/26
Since I use (among others) both Visual Studio and Delphi, I changed the Tortoise Global Ignore Pattern to be this:
Debug lib *.identcache *.local *bin *obj RECYCLER Bin *.user *.suo *.dcu __history ModelSupport_* *.rsm thumbs.db *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo *.rej *~ #*# .#* .*.swp .DS_Store
The bold portion is what I changed when compared to the original one:
*.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo *.rej *~ #*# .#* .*.swp .DS_Store
Input from Tortoise SVN Global Ignore Pattern for Visual Studio (which also included some of the Delphi patterns), and this Stackoverflow question (that indicated the patterns are case sensitive).
–jeroen
Posted in .NET, Delphi, Development, Software Development, Source Code Management, Subversion/SVN | Leave a Comment »
Posted by jpluimers on 2011/04/25
Though I use Linux and Cygwin often, the discrepancy between permissions in chmod and ls still strikes me.
I mean: after all these years, does the *nix world still want newbies to learn the octal notation of file permissions and do the math themselves? Come on!
Bsaically, you can use the stat command to show the octal permissions next to the filename (so you can apply them with chmod), but sometimes it is handy to have both the chmod and ls versions next to each other.
For showing both, this awk script comes in handy.
I slightly modified it to use ls -al instead of ls -l, and condense it on one line:
ls -al|awk '{k=0;s=0;for(i=0;i<=8;i++){;k+=((substr($1,i+2,1)~/[rwxst]/)*2^(8-i));};j=4;for(i=4;i<=10;i+=3){;s+=((substr($1,i,1)~/[stST]/)*j);j/=2;};if(k){;printf("%0o%0o ",s,k);};print;}'
If you want to have it in your .bashrc or .bash_aliases, then you need to escape the double quotes and dollar signs:
alias "lsmod=ls -al|awk '{k=0;s=0;for(i=0;i<=8;i++){;k+=((substr(\$1,i+2,1)~/[rwxst]/)*2^(8-i));};j=4;for(i=4;i<=10;i+=3){;s+=((substr(\$1,i,1)~/[stST]/)*j);j/=2;};if(k){;printf(\"%0o%0o \",s,k);};print;}'"
It shows me a listing like this:
$ lsmod
0200 total 47
0755 drwxr-xr-x+ 1 jeroenp None 0 Apr 11 14:00 .
1777 drwxrwxrwt+ 1 jeroenp root 0 Apr 11 09:21 ..
0700 -rwx------ 1 jeroenp None 207 Apr 11 13:50 .bash_aliases
0600 -rw------- 1 jeroenp None 4869 Apr 11 14:00 .bash_history
0755 -rwxr-xr-x 1 jeroenp None 1103 Apr 11 09:08 .bash_profile
0755 -rwxr-xr-x 1 jeroenp None 5657 Apr 11 14:00 .bashrc
0755 -rwxr-xr-x 1 jeroenp None 5663 Apr 11 09:08 .bashrc~
0755 -rwxr-xr-x 1 jeroenp None 1461 Apr 11 09:08 .inputrc
0600 -rw------- 1 jeroenp None 564 Apr 11 14:00 .joe_state
0600 -rw------- 1 jeroenp None 99 Apr 11 13:58 .lesshst
0755 -rwxr-xr-x 1 jeroenp None 792 Apr 11 09:08 .profile
0700 drwx------+ 1 jeroenp None 0 Apr 11 13:07 .ssh
0755 drwxr-xr-x+ 1 jeroenp None 0 Apr 11 13:32 install
–jeroen
via: Can the Unix list command ‘ls’ output numerical chmod permissions? – Stack Overflow.
Posted in *nix, Cygwin, Power User | Leave a Comment »
Posted by jpluimers on 2011/04/22
The Lenovo ThinkPad W701 can have three (3!) SATA spindles, one of which is through the Serial Ultrabay Enhanced bay, the other 2 can be hard drives.
Below is the mapping between the bays and the boot devices.
The bays are numbered as in the ThinkPad W700, W700ds, W701, and W701ds Hardware Maintenance Manual.
Note that the slot order and the boot device order is counter intuitive, espcially since the W701 ships with a HDD in slot 1 (which is ATA HDD0), and the SATA ports don’t map to the HDD numbers.
I don’t know yet which External SATA Port maps to the USB/eSATA combo connector mentioned on page 195.
The Serial Ultrabay Enhanced bay is probably HDD0 because it is also CD0, and it makes sense to boot from CD first when you install a machine.
ATA CD0 is for one these optical devices:
ATA HDD0, 1 and 2 can be one of those HDD devices (for ATA HDD2 you need a Serial Ultrabay Enhanced adapter, either 9.5mm or 12.7 mm high):
The Serial Ultrabay Enhanced adapter can hold 12.5 mm drives, the other bays can only hold 9.5 mm drives.
It looks like the W701 is the last ThinkPad that ships with a 1920 x 1200 screen (all newer models have HD screens of 1920 x 1080, so you loose 10% of your screen height).
I learned that the yellow USB port is the powerd one (if it is disabled, you can enable the power in the BIOS)
–jeroen
Posted in Power User | 1 Comment »
Posted by jpluimers on 2011/04/21
Quite a few things are similar when doing Generics in both Delphi and C#.
But constraints are a bit different.
To quote the Delphi Wiki page on Constraints in Generics – RAD Studio XE:
Constraints can be associated with a type parameter of a generic. Constraints declare items that must be supported by any particular type passed to that parameter in a construction of the generic type
Constraint items include:
- Zero, one, or multiple interface types
- Zero or one class type
- The reserved word “constructor“, “class“, or “record“
You can specify both “constructor” and “class” for a constraint. However, “record” cannot be combined with other reserved words.
Multiple constraints act as an additive union (“AND” logic).
A few other differences are these:
Note that – like the Delphi documentation – the C# constraints on type parameters documentation is not complete on those either.
–jeroen
Posted in C#, Delphi, Development, Software Development | 8 Comments »
Posted by jpluimers on 2011/04/20
Boy, I love stackoverflow.
Unlike a forum – which is focussed on discussion – stackoverflow is focussed on questions and answers, and they have lots of good answers.
Recently, I had to format numbers in a human readable way.
The formatting – C#: File-size format provider – Stack Overflow question had at least 3 good ways.
I chose the FileSizeFormatProvider answer, as it best fitted my goal and it is easy to extend, but the StrFormatByteSize answer works very well too if you need an ‘out of the box’ solution that works on native Windows.
–jeroen
Posted in .NET, C#, C# 2.0, C# 3.0, C# 4.0, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2011/04/19
Sometimes little snippets of code help you big time.
Note the below ones are not performant (they will load all the data), but can make your code a lot more readable.
Use with care!
return list.Select(x => x.ToString()).ToArray();
return list.Select(x => x.ToString()).ToList();
via: Convert linq query to string array – C# – Stack Overflow.
Posted in .NET, C#, C# 3.0, C# 4.0, Development, LINQ, Software Development | Leave a Comment »
Posted by jpluimers on 2011/04/18
SharePoint security can be tricky business.
Here are a few URLs that helped me going:
–jeroen
Posted in Development, SharePoint, Web Development | Leave a Comment »
Posted by jpluimers on 2011/04/15
Browsing the Lenovo web-site always takes a long time, and sometimes it is hard to find the right search phrase to soom in quickly.
The Lenovo Service and Support Training site has a nice treeview on the left that allows you to quickly find what you are after.
For instance, a friend wanted to know if 12.5 mm HDD’s would fit in the Serial Ultrabay Enhanced spot on a W70x series ThinkPad.
Presto: the treeview quickly lead me to http://www.lenovoservicetraining.com/ion/PSREF/O-W700.pdf
–jeroen
PS: 12.5 mm HDD drives do fit, but you need a 3rd party caddy for them (see search query below) or use the official caddy for 9.5 mm drives and live with a small gap.
Search query: 12.5 mm SATA HDD Caddy LENOVO Thinkpad Serial Ultrabay Enhanced, then follow the link and search for W701 or W700.
PS2: if you want to add a 2nd 9.5 mm HDD in a regular HDD bay, then you need at least the HDD Rubber Rails as specified in the ThinkPad W700, W700ds, W701 and W701ds Hardware Maintenance Manual on pages 92 and 105 (FRU part number 41V9756), but it is better to follow the Drive Rails and Caddys for the ThinkPad W700′s internal drive bays guide and get you this combination or browse to the million parts webshop , then in the “Shop Search”, search for “Lenovo Thinkpad T60 T60p Hard Drive Caddy Cover”.
Posted in Power User | Leave a Comment »
Posted by jpluimers on 2011/04/14
Setting up remote debugging is always a precarious thing, no matter what kind of development platform: the online documentation tells you the standard steps, but usually they don’t suffice.
This case is Visual Studio 2010 remote debugging, where the development environment is on a workstation running Windows 7, and the debug target is on Windows Server 2008 R2.
Both are x64 versions.
There is a remote desktop connection to the server, and the server can see the workstation files on the \\TSCLIENT\C share.
This is the error when running msvsmon.exe from \\tsclient\C\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger\x64:

[Visual Studio Remote Debugging Monitor] The following error occurred: Not enough storage is available to complete this operation. View Msvsmon's help for more information. [OK]
(Funny BTW that the x64 Remote Debugging Monitor is in fact in an x86 path).
The solution is simple: copy the x64 directory local, then start it from there.
The reason in that the user credentials on the server don’t have enough rights on the \\TSCLIENT\C directory tree, so Windows barfs on it.
This pointed me into the right direction when I started Process Monitor from the same \\TSCLIENT\C share: Read the rest of this entry »
Posted in .NET, Debugging, Development, Remote Debugging, Software Development, Visual Studio 2010, Visual Studio and tools | Leave a Comment »
Posted by jpluimers on 2011/04/13
When using Entity Framework 4, your transofmrations (model to classes, DB to model, etc) are performed by T4 Text Templates.
Those templates are executed all over the place (when saving your project, building your project, changing your model, etc).
Since anyone can insert a T4 Text Template into Visual Studio, and those are scripts, it is a potential vulnerability.
The default Visual Studio behaviour is to show you a dialog like this:

[Security Warning] Running this text template can potentially harm your computer. Do not run it if you obtain if rtom an untrusted source. Click OK. to run the template. Click Cancel top stop the process. [X] Do not show this message again [OK] [Cancel]
Some blogs mention Just click OK and feel free to check “do not show this message again.”
I’m not sure I want that: it would indicate I always trust T4 Text Templates, even the ones added in the future (T4 Text Templates are executable content, malicious software could find it’s way into your development environment; anyone remember the virus that hooked itself into the run-time library sources of a development system so it would spread through anything compiled on that system?).
But I also don’t want to click OK on that dialog.
It would be so nice if the dialog:
Anyone better thoughts on this?
–jeroen
Posted in .NET, C#, Delphi, Development, EF Entity Framework, Prism, Software Development | Leave a Comment »
Posted by jpluimers on 2011/04/12
When maintaining software, you can’t always use the latest versions of your tools and languages.
Since C# has added a lot since version 1, it is handy to know what changed in which version.
Of course nothing beets the (paper and electronic!) editions of C# in Depth (covering C# 1, 2 and 3) and C# in Depth second edition (covering C# 2, 3 and 4).
Those books are thick (they need to, there is a truckload to cover!).
(The publisher (Manning) actually did a very good job on the e-book versions. Highly recommended, as it makes searching stuff so much easier).
The answers to the c# – List of new features in C#2.0, 3.0 and 4.0 Stack Overflow question contains a few concise lists of major changes in the language.
I really like the Bluffer’s Guide to C# 2, and the Bluffer’s Guide to C# 3 that Jon Skeet mentioned in his answer (and wish he wrote a Bluffer’s Guide to C# 4 as well), as they focus on some essential stuff in a very concise way.
If you want more detailed info, start with these stackoverflow questions:
Since stackoverflow wasn’t there when C# 2 was introduced in 2005, start with this nice C# 2 overview article on CSharpCorner.
Note: contrary to popular belief, there is no C# 3.5. There is .NET 3.5 (adding LINQ) and .NET 3.0 (adding WPF, WCF and WF) all based on the C# 3.0 and CLR 2 SP1 features.
(Yes, some expression tree features don’t work on CLR2 RTM, as that one has a few bugs, see Jared’s comment on this answer).
–jeroen
via: c# – List of new features in C#2.0, 3.0 and 4.0 – Stack Overflow.
Posted in .NET, C#, C# 2.0, C# 3.0, C# 4.0, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2011/04/11
The 1104011-1 engine/virus definitions of Avast contains a problem; it marks a lot of web-sites as and programs as false positives ago.
Right now, their web-sites and download servers are flooded with people frantically trying to update.
Be patient, but do update when you can. The past has shown the flood doesn’t really take that long.
From their Facebook page:
A few minutes ago: 110411-2 UPDATE IS OUT! PLEASE UPDATE YOUR DATABASE.
About 20 minutes ago: PROBLEM WILL BE FIXED WITH NEW DATABASE UPDATE SOON, PLEASE BE PATIENT. THANK YOU.
Oh BTW: If you use the FREE version of avast, then you will have a low priority and receive 403-errors while updating for some while:
Last encountered error: Other HTTP error (403)
–jeroen
Posted in Power User | 2 Comments »
Posted by jpluimers on 2011/04/11
In Almere is voor de 2e keer een bord met een foute spelling voor Chicagostraat opgehangen (eerst Chigacostraat, nu Chigagostraat).
Gerrit de Jager (Doorzon Daily) wijdde er zelfs een cartoon aan.
Dit doet me denken aan mijn schooltijd; de woorden “Mississippistraat” en “San Franciscostraat” schoten me meteen te binnen: daar moet ik altijd 2 keer over nadenken voor ik ze goed spel.
Gelukkig komen die een stuk minder voor als “Kerkstraat” of “Dorpsstraat“ (hoewel “Dorpstraat“ ook bestaat).
Spellen blijft moeilijk, en niet alleen Nederlandse woorden
–jeroen
via: Het is weer mis met de Chicagostraat – Almere – WebRegio.nl – Almere.
Posted in Opinions | Leave a Comment »
Posted by jpluimers on 2011/04/11
Somehow in a production environment I did get this error too:
System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {BDEADF26-C265-11D0-BCED-00A0C90AB50F} failed due to the following error: 80040154.
These two posts helped me to solve it:
The solution is deceptively simple:
Resolution: It is because you are trying to build a x86 application. Go to project properties and set type to x64 everywhere. Then rebuild and debug. The Error Vanishes!
The SharePoint 2010 dll’s are all x64, and Visual Studio 2010 by default still starts .NET projects in x86 mode for both Release and Debug settings.
–jeroen
Posted in Uncategorized | 3 Comments »
Posted by jpluimers on 2011/04/08
For me to remember: the drive matrix for my T61p: Lenovo Support – Drivers and software – ThinkPad T61, T61p.
–jeroen
Posted in Power User | Leave a Comment »
Posted by jpluimers on 2011/04/08
So I won’t forget: Lenovo Support – Power Manager for Windows 7 (32-bit, 64-bit), Vista (32-bit, 64-bit) – ThinkPad.
–jeroen
Posted in Power User | Leave a Comment »
Posted by jpluimers on 2011/04/08
My primary wireless router is at the ground floor.
They made a small error when building our house some 15 years ago: all the spare PVC pipes running up stairs that were meant for additional cabling are full of concrete, so no way to get any network cabling upstairs.
I don’t need a lot of band width upstairs, but some of the devices are wired.
Solution:
In fact, I had to make one change: the primary network is on 192.168.0.X, so the Linksys dd-wrt router is now on 192.168.0.50 (which is outside of the DHCP range of the primary router).
And I took a shortcut: I joined the WLAN of the primary router (on the site survey page) instead of entering all the WLAN info manually.
It works, and took me less than 15 minutes total.
I could have gone one step less (Client only, which puts your LAN behind a NAT) or one step further: configure it into a Repeater Bridge (instead of a Client Bridge).
That would allow WLAN clients to my WRT54GL as well as LAN clients.
Right now I don’t need that.
Another option is Repeater Mode (where the WLAN and LAN clients of the WRT54GL are on a different subnet than the primary router).
Finally, if you run into trouble, read this thread on the dd-wrt forum on Broadcom based devices it contains a truckload of info in a very concise way.
–jeroen
Posted in Uncategorized | Leave a Comment »
Posted by jpluimers on 2011/04/07
Just released: Mono for Android.
This – like MonoTouch for iOS – allows you to develop, debug and deploy Android applications using .NET
Mono for Anroid includes Visual Studio 2010 integration.
If you have a MonoTouch license, you temporarily get a discount on Mono for Android.
Now you can use .NET for the major mobile platforms: iOS, Android and Windows Phone 7 sharing major portions of your code across those platforms.
–jeroen
Posted in .NET, Development, Mono for Android, MonoTouch, Software Development | Leave a Comment »
Posted by jpluimers on 2011/04/07
When you have lots of projects in a solution, quickly the tree in the Solution Explorer gets a mess, especially if you have “Track Active Item in Solution Explorer” enabled.
“Solution Explorer Tools” addin for Visual Studio 2010 helps with that.
It adds three buttons to solution explorer
The first one basically means you will never need to enable “Track Active Item in the Solution Explorer” again.
The second and third quickly get rid of the mess in the Solution Explorer.
Highly recommended!
–jeroen
via: Solution Explorer Tools.
Posted in .NET, Development, Software Development, Visual Studio and tools | Leave a Comment »
Posted by jpluimers on 2011/04/06
The below message in my Error List is not an error: it has a red exclamation mark, which falls outside the category Error (Red bullit with white cross), Warning (Yellow triangle with black exclamation mark) or Message (White bullet with blue lowercase i).
Bit it is still indicatint something was wrong:
1 Failed to copy project output to file C:\tfs.root\MyServiceApplication\ClientBin\MySilverlight.Client.Test.xap. Access to the path ‘C:\tfs.root\MyServiceApplication\ClientBin\MySilverlight.Client.Test.xap’ is denied. 0 0 MyServices
What it indicates is that the .xap file is readonly, and cannot be overwritten.
The reason is that during checkin in TFS, by accident all the .XAP files were added (by default, .XAP files are not on the binary exclusion list), and I found the answer in this thread.
At the end of the build process, the above message disappeared, but the .XAP file was not replaced, so the project output was not up-to-date.
Ergo: the build should have failed.
The solution was simple:
Now Visual Studio 2010 can regenerate the .XAP files and your project output is correct again.
NB: .XAP files can be in two places, be sure to check both:
–jeroen
Posted in .NET, ASP.NET, Development, SilverLight, Software Development | Leave a Comment »
Posted by jpluimers on 2011/04/05
While browsing for some less used but useful C# features, I came across a great post by Michael (Mike) Ward from Blue Onion Software on Favorite C# Idioms based on the great Hidden Features of C# thread on StackOverflow.
Mike starts with
There’s a great post on Stackoverflow about hidden features in C#. I prefer to think of these as idioms rather than hidden features since most are actually documented. Here are my favorites.
Then he continues with some nice examples of C# idioms.
Recommended reading!
–jeroen
Posted in .NET, C#, C# 2.0, C# 3.0, C# 4.0, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2011/04/05
Entity Framework 4 is nice, but has very confusing error messages.
Maybe it is just me, but getting a feel for what each error message means, and how to cure the underlying mistake(s) is time consuming.
For instance, it took me quite a while to find out why this error occurred during a project build:
Error 3004: Problem in mapping fragments starting at line 569: No mapping specified for properties MyEntity.MyValue in Set MyEntities. An Entity with Key (PK) will not round-trip when: Entity is type [MyEntities.MyEntity]
The solution was simple, I had forgotten to manually perform the “Generate Database from Model…” step before building my solution and was glad I found it in this Stack Overflow answer:
Have since discovered that after I add/change/delete properties on my entities I must “Generate Database from Model” before I compile otherwise I get 3004 mapping errors.
Note that this generation is always a manual step; I haven’t found a way to automate that (if you have found a way: please add a comment below).
–jeroen
via: .net – Entity Framework 4 mapping fragment error when adding new entity scalar – Stack Overflow.
Posted in .NET, Development, EF Entity Framework, Software Development | Leave a Comment »
Posted by jpluimers on 2011/04/04
Maybe I should start a “Cool Software of the Week” series<g>
About ManyCam:
What is ManyCam?
- Use your webcam with multiple programs simultaneously.
- Add text to your webcam video window with any application.
- Add cool animations to your video window.
- Show your local day and date in your video window.
- Add live CGI graphics like fire and water effects. You can even make it appear as if it is snowing inside your house!
–jeroen
via ManyCam – Home – webcam graphics plus use your webcam with multiple programs simultaneously!.
Posted in Power User | Leave a Comment »
Posted by jpluimers on 2011/04/04
Very simple page to use:
The speed list has a nice balance between number of selections, and covering a broad enough magnitude, so it is easy to get a good estimate.
From the speed calculator page:
Use this calculator to estimate file upload, download or transfer speed. Actual transfer speeds may be a bit slower than these times due to reasons described below.
–jeroen
via: Download Time Calculator | File Transfer Time | Data Transfer Speed.
Posted in Power User | Leave a Comment »
Posted by jpluimers on 2011/04/01
Earlier this week, VMware released Build 385536 of both VMware Workstation 7.1.4 and VMware Player 3.1.4.
Since I use a lot of USB equipment, I love the fixes they did in that area.
Also, since I use Windows 7 a lot, I appreciate the support for Windows 7 SP1 as well.
–jeroen
Posted in Power User, VMware | Leave a Comment »
Posted by jpluimers on 2011/04/01
Eindelijk, en geen 1 april grap!
Het gaat niet alleen om kinderen, maar ook voor bijvoorbeeld mensen met een verstandelijke beperking.
Je wilt niet weten hoe lasig het is om – als curator, bewindvoerder, mentor, ouder, voogd – om zaken ongedaan te krijgen die – wettelijk gezien – niet rechtsgeldig zijn.
Ik snap dat SMS-diensten-providers een verdienmodel willen hebben, maar de manier waarop het tot nu toe ging was lastig, tijdrovend en daardoor kostbaar.
Dit is weer een stapje in de goede richting:
Het blokkeren van dure sms-diensten is vanaf 1 april gratis en gebeurt vanaf dan ook verplicht binnen 24 uur. Daarvoor is de telecomwet gewijzigd. [...]
Tot nu moest een gebruiker die sms-diensten wil blokkeren nog 25 cent betalen. Om die laatste drempel weg te nemen, is de Telecomwet gewijzigd en is per 1 april het blokkeren van premium-sms-diensten gratis.
Veel mensen willen die blokkade, bijvoorbeeld om te voorkomen dat hun kinderen een ringtone downloaden en ongemerkt vastzitten aan een duur sms-abonnement.Providers lichten inmiddels klanten in over de komende wetswijziging, omdat de algemene voorwaarden worden aangepast.
Het gratis maken van de sms-blokkade via de site Smsdienstenfilter is geregeld in artikel 7.7 van de gewijzigde Telecomwet.
De tijd die het maximaal kost om premium-sms-diensten te blokkeren voor een mobiel nummer is verkort van drie dagen tot 24 uur.
–jeroen
via Blokkeren premium-sms-diensten is vanaf 1 april gratis | Mobile | Tweakers.net Nieuws.
Posted in Opinions | Leave a Comment »