Entries:
Comments:
Posts:

Loading User Information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading User Information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

petr.antos

petr.antos petr.antos

Niner since 2010

  • .NET 4.5: David Kean and Mircea Trofin - Portable Libraries

    Hi guys, nice work! @compupc1: in fact I exactly worked 5 yrs ago with WinCE based industrial handheld barcode terminals and during my rewrite/redo of old C app for MS-DOS based models (requirement to have EXACTLY the same UX even on new WinCE ones for NO workers reeducation!) I quickly realized that new terminals has not emulator support for custom devices as barcode, beeper, various keyboard layouts, wifi-control etc.. so I wanted to debug application in desktop environment, even if compiled against NETCF. And it worked! Using common subset of UI controls (perfectly fine with keyboard only navigation, effectivelly disabling touchscreen, exactly as on old terminals, loosing support from manufacturer soon) it was possible to design UI in grid 240x240 and rescale controls recursivelly duriing app startup to final configured 320x320, with some issues, of course (real reason for wpf/sl is impossibility to zoom native checkbox Smiley). Even desktop UI designer worked well with some #IFDEFS, quite fine in fact, there was just one Form and all screens was managed Panels powered by extensible FSM engine triggered by keyboard, barcode and timer, for better performance not using any reflection-based databinding etc.

    But real "portable executable" thing was done this way, with desktop attachable debuger to NETCF compiled thing running on desktop. To be even more usefull, I built some little "compile time microkernel" with base PInvoke layer against kernel32 and coredll (power management status, touch disable, wifi driver on/off, etc) after platform detection and late assemblyloading of managed "driver wrappers" against desktop emulated barcode reader (even with little UI popups) and target device SDK managed libraries (bound to terminal native drivers, but abstracetd on my level). On top of that, there was "shared services" assemblies, compiled as always for NETCF, but working well also on desktop (for example NETCF modified very nice event driven Genesis UDP P2P library from codeproject) and of course SQLCE support (on desktop targeting its desktop verison, but in first revisions of this beast, I even used full mssqlserver, everything abstracted). Final managed NETCF exe launched either on desktop or terminal detected the platform and lately referenced/classloaded/used appropriate drivers and services, exposed as common api for final industrial application, which in fact replaced explorer.exe in HKLM/Init even indirectly through ns.exe script based "bootloader" for full locked kiosk-mode, auto-reinstall and storage optimizations after coldboots etc... It was fun to work with this, it allowed to work even if real dev handhelds was borrowed by business dept for shows and customers meetings, allowed independecy on single handhelds manufacturer (even never portedd to different brand, Symbol/Motorola ís great!!) ...It simply was my little child Smiley and it bound me to love for .NET. Forever Smiley. It was 2005-7 and unfortunatelly, I was wery much expecting mobile Silverlight native Xaml UI extensions to be here faster and its big fault of MS to not focus primarily on this NETCF and lately its subset CoreCLR/SL quickly. Hope all you are going well for future with WP7, Win8 and all new great stuff!!

  • Using the Windows Runtime from C++

    Why have so many C++ developers troubles with layering their work? In fact, if there are conventional and extensions-powered ways to nativelly access WinRT, then there is more options. May be more C# developers can try such extensions than C++ ones. I understand this difficult era of changes, so to @Herb, dont worry but continue with C++11 as you want Smiley and be nice to us .NETers too Smiley

  • C++ and Beyond 2011: Herb Sutter - Why C++?

    First, Herb, please, dont tell me anymore about Tom Cruise, really Smiley
    I understand why MS desperatelly needs to push C++ (or native code in general) back to frontpage for partners and students, as its really nice to prepare for stragetic shift of using computers in all its forms during this decade and up.

    But its all about right tools for the job. I like Andres Hejlsberg talks a lot more, as he never was arogant about C++ or native code. He even knows very well something about native code as his TurboPascal and Delphi is native and uses even more effective parameters passing throuhgout whole language than C/C++, the same as win32 api uses Smiley. But in this native(!) world of Delphi, code is often written with "brute force" style, speed is tried to be here due to nativeness of loops, but there almost nobody knows about hashtables, whole library is full of brute force searched stringlists (sometimes hopefully sorted), and why the hell native apps written in delphi feel so slow very often?? They can be badly written, architected - as in any language, including C++, as developers are also often stupid in average. There is very few of them who can do C++ effectivelly, very few - and I myself am not that guy, although I know about machine code a lot too. I simply bet that in real world, C++ will still be mostly usefull for optimizations after good profiling of quite good architecture written in C#/VB (today it doesnt matter) and one perfect example of this is rewritten Windows8 core to have Silverlight(psssst) AgCore merged into WinRT API - its superb to have such thing wrapped for all possible languages (but there ARE added some static metadata even for C/C++ tools, because "no metadata, no tools" ...).

    To be nice (and I always want to be), its beautifull what MS does today. Everything existing stays here, even WPF and SL are enhanced for desktop apps, because they will stay here forever, but many more new things are possible and even with C++ against WinRT/XAML/Metro (and probably far more important to extend this with native XAML based user controls, where really native code matters a lot). I believe there wil be also native FreePascal/Lazarus IDE back soon.

    Finnaly, as Atmel released his new AVR Studio based on VS10 IDE shell, including GCC and better tools, its time to learn again ALSO C++ quite a bit, to create new "perfectly good idea" devices Smiley.

    Thanks Herb and Charles for all your effor for C++ back again.

     

  • Steve Anonsen and John Rivard: Inside LightSwitch

    Great! Well done guys Smiley I must (again) give a tribute to man who did this game changing approach 20+ years ago in "PC FAND" development tool, started at CP/M machines to process large datasets (in fact, government level agriculture datacenters in centrally planned economy ...) and then ported to MS-DOS and then, unfortunatelly NOT ported to windows - obviously quite impossible in "one man show" scenario. He didnt use objects, there was no no ORMs, entities, DSLs, model-driven (not to mention -centric) development and many other buzzwords. In fact, here was declarative not only models (with at this level computed fields as you have now, validation checks, recordset change triggers...) and screens (not so much formalized UX but its controls layout at least, scripted by imperative pascal-like code - used also anywhere else), but here was also declarative reports and streaming-based semiparallel "change" queries (called "transformations" - so NO sql yet, no query optimizations, but low-memory consuption "jobs" with events attached even on grouped-by property changes to produce many output resultsets streams in single pass over all input streams), also role based permissions, network concurrency using file-locking added later etc. So it is great to see now similar approach properly extensible even on 2 and 3 tier architecture, Azure and so on! I always dreamed about this, knowing that its really difficult to implement this beast, as it must be done as close to SQL server as possible to be effective, togeter with integrated client based UI, so your app-server runtime and whole simplifying of even so complex deployment is really amazing, not to mention true object orientation, first-class CLR/JIT powered languages even for model calculated fields, great extensibility points at right places... In fact I am shocked to see this done Smiley. But the man who did it first for me was Gert Klötzer Smiley.

     

    Have a nice code, even in future !