Cluj München 1140km

Gânduri clujene din Bavaria

München - Munich - Monaco di Baviera

8. februarie 2014 13:37
by skorpionking
0 Comentarii

Microsoft .NET Framework 4.5.1 - Improved ASP.NET Web Site Performance

8. februarie 2014 13:37 by skorpionking | 0 Comentarii

Application performance is a constant focus area for the .NET Framework team. In this release, Microsoft responded to feedback on the garbage collector and significantly improved ASP.NET app startup.

ASP.NET App Suspension This feature is one of the top highlights of the .NET Framework 4.5.1 due to the significant performance gain it provides, particularly for shared hosting scenarios where site density and startup latency are critical. ASP.NET App Suspension will enable shared hosters—either commercial Web hosting companies or enterprise IT systems—to host many more ASP.NET Web sites on a server with faster app startup time.

ASP.NET App Suspension depends on IIS Idle Worker Process Page-Out, which is a new IIS feature in Windows Server 2012 R2. IIS Idle Worker Process Page-Out introduces a new “suspended” state in addition to the existing “inactive” and “active” states for Web sites. This new “suspended” state releases critical resources used by the site for other sites to use, specifically CPU and memory, while still enabling the site to be resumed quickly.

The figure below shows the state transitions of ASP.NET sites using App Suspension. A Web site starts in the inactive state. It’s loaded into memory and transitions to active with the first page request. After a period of idle time, the site will be suspended, per application pool configuration ( Upon subsequent requests to the site, it can quickly return to the active state. This cycle can happen many times. Up until now, sites would get terminated and become inactive after a certain amount of idle time.

No code change is required to use this new feature. ASP.NET App Suspend is enabled automatically by configuring an IIS application pool for “Suspend” on Windows Server 2012 R2.

Microsoft conducted extensive performance experiments to measure the startup time gain for “resume from suspend” compared to “start after terminate.” Microsoft did these experiments on a machine under significant request load, accessing a large number of appli­cation pools, with the intent of recreating a “shared hosting” environment. The results showed a 90 percent reduction in the startup time for sites that were accessed after suspension. Microsoft also measured the improvement to site density. Microsoft were able to host about seven times more ASP.NET sites on Windows Server 2012 R2 when ASP.NET App Suspension was enabled. the next figure shows the results of these experiments. More insights into these experiments can be found in the “ASP.NET App Suspend – responsive shared .NET Web hosting” blog post at

Multi-Core JIT Compilation Enhancements Multi-core JIT compilation is now enabled by default for ASP.NET apps. Perfor­mance measurements show up to 40 percent reductions in cold startup time with multi-core JIT enabled. It provides startup benefits by performing JIT compilation on multiple cores, in parallel to code execution. Under the covers, multi-core JIT was extended to support dynamically loaded assemblies, which are common in ASP.NET apps. The additional support also benefits client apps, where multi-core JIT remains an opt-in feature. More details about the multi-core JIT feature can be found in the related .NET Framework Blog post, “An easy solution for improving app launch performance,” at

On-Demand Large Object Heap (LOH) Compaction LOH compaction is an important requirement for some scenarios, and it’s now available in this release. First, a little background information, as LOH might not be familiar to you. The garbage collector stores objects larger than 85,000 bytes in the LOH. The LOH can get fragmented, and in some cases this might lead to relatively large heap sizes or even OutOfMemoryException exceptions. These situations, although rare, occur because there aren’t enough contiguous memory blocks available in the LOH to satisfy an allocation request, even though there might be enough space in total.

With LOH compaction, you can reclaim and merge smaller unused memory blocks, making them available for larger allocations, which makes better overall use of machine memory. Although this idea sounds appealing, the feature isn’t intended for common use. Compacting LOH is an expensive process and can cause long pauses in an application, so it should only be deployed into production after analysis and testing.

Enjoy programming in the new VS2013 with the Update 1 and .NET Framework 4.5.1! More can be found  here(.NET Team Blog)

5. februarie 2014 13:15
by skorpionking
0 Comentarii

Microsoft .NET Framework 4.5.1 - New features making development more productive

5. februarie 2014 13:15 by skorpionking | 0 Comentarii

Async Debugging Improvements After setting up a solid and easy-to-use base for the asynchronous programming model in the previous Framework releases, Microsoft wanted to smooth out some remaining aspects for the overall developer experience with the .NET Framework 4.5.1. Two questions are essential for debugging asynchronous code: “How did I get into this async method?” and “What is the state of all the tasks in my application?” Visual Studio 2013 introduces enhancements to the Call Stack and Tasks windows to help you find answers to these questions in a much more intuitive way. These improvements are supported for desktop, Web and Windows Store apps on Windows 8.1 and are available for C++ and JavaScript as well.

It’s common to have nested async method calls within an app or library, which rely on the await keyword to manage the flow of execution. Previously, Visual Studio didn’t show the chain of async calls when stopped at a breakpoint within a Task. Visual Studio 2013 provides a logical and sequential view of methods in a nested chain of calls for both asynchronous and synchronous methods. This makes it easier to understand how the program reached a location inside an asynchronous call.

First screenshot shows an asynchronous code sample. The next two demonstrate the difference between the call stack views of Visual Studio 2012 and Visual Studio 2013 for that code. More details of this feature can be found in the “Debugging Asynchronous Code in Visual Studio 2013—Call Stack enhancements” blog post at

The Tasks window in Visual Studio 2013 is designed to help you understand the state of async tasks in your apps by displaying all the currently running and scheduled tasks. It’s a replacement for the Parallel Tasks window that was available in previous Visual Studio versions. The next figure shows a snapshot of a Visual Studio 2013 Tasks window for the sample code given above:

x64 Edit and Continue This was a popular debugger feature request, with more than 2,600 votes on the Visual Studio UserVoice site where users can request new features ( Developers have loved using the Edit and Continue feature since it was intro­duced with Visual Studio 2005 and the .NET Framework 2.0 release, for x86 projects. Edit and Continue makes it easier to write the correct code by letting you change the source code during a debugging session, while app state is available. You can even move the instruction pointer so you can replay code after making a change. It provides a more productive development experience because you don’t have to stop and restart the session to validate your changes.

x64 support for Edit and Continue is now enabled with Visual Studio 2013 and the .NET Framework 4.5.1 release. You can use this feature for debugging desktop applications (Windows Presentation Foundation, Windows Forms and so on), Windows Store apps, ASP.NET Web applications and Windows Azure Cloud Services projects targeting x64, AnyCPU or x86 architectures.

Managed Return Value Inspection Debugger support for managed return values is another popular request with more than 1,000 votes on the UserVoice site. The Visual C++ debugger has an existing feature that allows you to observe the return values of methods, and Microsoft wanted the same capability for .NET as well. This feature is useful for many code patterns. However, you can really see its value with nested methods, as demonstrated in the figure below. With this feature, you no longer have to worry about storing the results of your methods in locals solely to make debugging easier. When you step over a method call, both direct return values and the return values of the embedded methods will be displayed in the Autos window along with the parameter values passed to the functions. You can also use the Immediate window to access the last return value through the use of the new $ReturnValue pseudo-variable.

Windows Store Development Enhancements Microsoft responded to feedback and provided .NET support for new Windows Runtime (WinRT) features to improve the .NET Windows Store app development experience.

One of the pain points was converting a .NET Stream to a WinRT IRandomAccessStream. In the .NET Framework 4.5.1, VS2013 added a new extension method, AsRandomAccessStream, for System.IO.Stream to solve this problem. You can now write the following code, which allows you to easily provide an IRandomAccessStream:

This example code reads an image from the Web and displays it in a XAML Image control (represented by the “image” variable).

Another improvement is error propagation in the Windows Runtime. The Windows Runtime, in Windows 8.1, enables exceptions to pass between WinRT components. With this support, an exception can be thrown from a C++ WinRT component and be caught in C# (or vice versa). Additional information for the exception is now available via the Message and StackTrace properties on System.Exception.

The Windows Runtime also added support for nullable value types in structures. You can build managed WinRT components that expose structs with this new feature, such as in this sample code:

Enjoy programming in the new VS2013 with the Update 1 and .NET Framework 4.5.1! More can be found  here(.NET Team Blog)

13. ianuarie 2014 10:03
by skorpionking
0 Comentarii

I want to learn programming - which programming language should I choose?

13. ianuarie 2014 10:03 by skorpionking | 0 Comentarii

I recently ran into a very nice post addressing this question: "if you want to start learning programming which programming language should you choose?" I thought this was an interesting topic and I wanted to share my opinion here.

From my almost 2 years spent as a research assistant at the Technical University of Munich, I know that this question is still debated by academia and it is still without a black and white answer. After all, the choice of language might differ based on the actual purpose for learning programming (i.e. hobby, school project, become a professional programmer) and the type of projects that one is willing to tackle with programming (e.g. simple web sites, user interfaces and client side, business logic and server side, mobile platforms, scientific applications).

After all, a good way for anyone to become a well seasoned programmer is to go through learning C and C# Even though C is perceived as a more difficult programming language to learn and master it will help you develop important skills such as: debugging skills, working with memory (e.g. memory allocation, clean-up, pointers), data types, data structures, and in general a more disciplined approach to programming. C# will teach you strong object oriented concepts which are used in most modern OO programming languages (e.g. data encapsulation, inheritance, polymorphism, applying design patterns) as well as other important modern programming paradigms (e.g. multi-threading, exception-handling, generics) and also Cloud and Web programming, all well tight with the best IDE which is Microsoft's Visual Studio 2012/2013  (you can learn also the concepts of Agile programming, Version Control, Team Collaboration, etc.)

If you want to be a good smart software engineer go to a Computer Science University :-)

7. ianuarie 2014 09:22
by skorpionking
0 Comentarii

(Dis)Continuous delivery and customer (in)satisfaction

7. ianuarie 2014 09:22 by skorpionking | 0 Comentarii

Having a strong software engineering background I am a big fan of agile and continuous delivery - they truly represent a better way to build products, especially software products. After all what can be wrong with delivering product updates at a rapid pace rather than waiting long periods of time between new releases? How about the customers' perceived satisfaction! My suspicions were confirmed when I read a great mini case-study discussing the potential ripple effects of continuous delivery - the discussion focuses on Tesla and Adobe. This was also sometimes the truth in some parts of the projects in which I was involved. Learn, adapt and do it better!

Take a look at the original post here: Tesla and Adobe: Why Continuous Deployment May Mean Continuous Customer Disappointment

14. decembrie 2013 09:27
by skorpionking
0 Comentarii

Microsoft Surface Pro 2 - my first thoughts

14. decembrie 2013 09:27 by skorpionking | 0 Comentarii

I was altready a fan of the Surface Pro, but now with Surface Pro 2 I've got really a modern powerfull laptop (1.6GHz Core i5-4200U, Intel HD 4400, 64 - 512 GB SSD, 4-8 GB RAM, Windows 8.1 Pro) inside a tablet: USB 3.0, microSD, Type / Touch Cover 2 and Power Cover, improved battery, improved design, improved display (1920x1080 resolution), mini Display port, solid magnesium body. But it is also heavier, thicker and also I miss the support for LTE - and hmm expensive.

More information:

Surface Pro 2 Official Website



The Verge

8. decembrie 2013 09:49
by skorpionking
0 Comentarii

Microsoft Surface 2 RT

8. decembrie 2013 09:49 by skorpionking | 0 Comentarii

I have a Surface RT and I'm pretty happy with it, maybe I miss UMTS and some Apps.

Surface 2 (RT) it is simply much better.  It is a Windows RT 8.1 tablet with a 10.6", 1920 x 1080 IPS display and an NVIDIA Tegra 4 T40 quad core 1.7GHz CPU. The tablet looks much like the first gen Surface RT but the VaporMG casing is now finished in sliver and it's a little lighter at 1.4 lbs (ca. 635 grams). The 0.35" thick tablet has 2 GB of RAM, dual band WiFi 802.11b/g/n, Bluetooth 4.0 and a two-position kick stand. It has a 3.5MP front camera and a rear 5MP camera, and a 32 GB or 64 GB SSD. The Surface 2 runs Modern UI Live Tile apps and comes with the Windows RT version of MS Office with Word, Excel, PowerPoint and Outlook. It can't run Windows .exe legacy programs though you do have access to desktop mode with File Explorer and standard Windows apps like Powerpoint, Internet Explorer, Outlook, Control Panel.

More information

Surface 2 Official Website:



The Verge

13. octombrie 2013 19:11
by skorpionking
0 Comentarii

What's new in Visual Studio 2013

13. octombrie 2013 19:11 by skorpionking | 0 Comentarii

This is a long post, so get ready folks :-)

For all full list of all new features, please check the MSDN Visual Studio 2013 web page.

I've been n faithful Visual Studio user since the IDE's introduction. The original product represented a major milestone for Microsoft because it brought together for the first time the company's collection of languages under one umbrella. Essentially, it became the Microsoft's suite for developers. Nearly 15 years later, Visual Studio is the default development environment for developing Windows and Office applications, ranging from traditional WinForms to the latest WinRT creations, Web applications, Cloud applications.

Visual Studio users can fall into a range of categories (developers, testers, architects, and so on) and use a range of technologies (desktop, Web, cloud, Windows store, services, databases, and more). While there are competitors for almost every area where Visual Studio provides a solution, no single product competes with Visual Studio in all fields.

Visual Studio 2013 (VS2013) is another release that adds important new technologies that I'll touch upon shortly. Among the most visible are some cosmetic changes, such as more than 400 modified icons that update the UI to a more colorful Windows 8 look. Others changes are nifty code editing efficiencies that appeared first in Visual Studio Power Tools add-ons, but are now officially integrated and supported.

The new release sports big improvements in application lifecycle management (ALM), including the ability to build, test, and deploy in the cloud via the new Team Foundation Service and integration with Windows Azure. You'll also find significantly better tooling for Web development with ASP.Net, as well as better support for JavaScript, HTML, CSS, and Python editing and debugging.

Agile Portfolio Management

The Agile Portofolio Management enhances the backlog and sprint log management and also the work breakdown. It also enables multiple Scrum teams.

Version Control

VS 2013 improves tracking the updates, a brand new  team explorer home page and the pending changes are back :-)

Another new feature is “lightweight code commenting”. This is a new feature in the web access experience that allows people to easily comment on code. It provides a very nice inline experience for commenting either on whole files or on changes.

The biggest ALM win from my point of view is that Visual Studio now supports Git in addition to Team Foundation Server's native version control.

Team Foundation Server is set up for a geographically distributed group. Performance can be a big issue, especially when the group spans the globe, as outsourced projects often do. There's an all-Microsoft solution for that: Team Foundation Service. As you might expect, it runs in the Azure cloud. As you might not expect, it's free for teams of five or fewer, and larger installations are included in the higher-end Visual Studio with MSDN subscriptions at no additional charge.

Smarter code editing

Code editing in Visual Studio 2013 has picked up a number of what might seem like minor improvements, but in the aggregate can make a huge difference in developer productivity. For example, the Go to Definition feature does a better job of maintaining your editing state, so you can go back to where you were using the back arrow. For languages that have the support, such as C# (but not JavaScript), the Peek Definition feature pops up a window with the definition you requested without disturbing your underlying edit window. And Code Map does a great job of giving you a big picture of where you are in your code, again for those languages with the support. Codelens si also awesome.

For Web development, the editor has been updated to support the latest HTML5 and CSS tags, and it is IntelliSense-enabled. And seeing how audio and video file elements dragged into the code window are wrapped inside appropriate HTML5 tag structures is a great help.

Another long overdue feature I was glad to see is VS2013's ability to edit-and-continue native 64-bit application debugging sessions. Considering that the majority of new enterprise applications are 64-bit, this improvement finally brings the 64-bit development experience to parity with the 32-bit step-debugging tools we have come to expect in any modern IDE.

Cloud And Web

VS2013 also supports Office 365 Cloud Business application development. With rumors swirling that a fully implemented Microsoft Office suite will one day make it to Android and iOS platforms, this technology has tantalizing possibilities for easy Office-centric ALM across a variety of mobile platforms.

Web development is another area where VS2013 has made ample improvements. ASP.NET developers will be pleased to discover that they can comfortably mix and match whatever framework they prefer (MVC, Web API, WebForms) in the same project. Gone are they days of segregating Web applications based on framework boundaries. Now, all of these technologies can operate happily together under the same umbrella.

Another nifty feature that will elicit a nod of satisfaction from Web developers is the new Browser Link capability. Browser Link keeps the latest browsers such as Internet Explorer, Chrome, and Firefox in sync with your code, showing design and behavior code changes in real-time. You can finally say goodbye to unnecessary button clicks, keypresses, and manual page refreshes.

VS2013 also expands support for new languages like TypeScript. TypeScript compiles down to JavaScript, but makes working with complex JavaScript-related operations far more manageable since TypeScript supports the full compliment of classes, interfaces, and modules that OOP programmers have come to rely on. VS2013 works with TypeScript just like it does with other languages by providing full support for code navigation and refactoring, statement auto-completion, and the like. And TypeScript can use popular JavaScript libraries such as Bootstrap and jQuery.


VS2013 enhances the test case management capabilities to allow you to more fully manage your test plans without having to switch to the Test Professional client. You can now create/modify test plans, suites and shared steps on the web.

VS2013 improved the test running experience making it easier to capture screenshots, etc.

In addition to the next round of improvements to VS2013 web based test case management solution – there is a new feature: cloud load testing. To run a cloud based load test on Team Foundation Service, just create/record a load test and choose the option in your test settings.

And in a short time, you’ll see the progress on your test:

Team Collaboration

One of the core value propositions of Team Foundation Server is to help software development teams collaborate. This is usually by providing transparency into what is happening in the software development process so that everyone stays up to date and knows how to make the best decisions. With TFS 2013 Microsoft is trying a new tact to facilitate that called “Team Rooms”.


In summary, Visual Studio 2013 improves a developer's productivity in many ways, as compared to its predecessor: in the editors, in the debuggers, in the frameworks, in the wizards, and in the performance and diagnostics tools. Visual Studio 2013 Ultimate goes beyond development to unit testing, smoke testing, load testing, and all the way to continuous builds and release management.

Visual Studio 2013 installs side by side with Visual Studio 2012, and the projects and solutions are largely interchangeable. Upgrading from Visual Studio 2012 Professional to Visual Studio 2013 Professional costs a mere $99 until the end of January, and upgrading any other edition is just a matter of renewing your MSDN subscription. I'd suggest that, unless you discover incompatibilities between compiler versions that affect your code, upgrading is a no-brainer.

15. septembrie 2013 09:50
by skorpionking
0 Comentarii

SCRUM / Agile are nevoie de specificatie? // Does Agile need requirements?

15. septembrie 2013 09:50 by skorpionking | 0 Comentarii

Versiunea in romaneste (for english scroll down please):

In ultimii ani am inceput sa lucrez tot mai mult in cadrul proiectelor de software utilizand o abordare mai agila, incercand sa utilizez SCRUM, dar si alte abordari agile: managementul proiectului, cicluri de release mai rapide (SCRUM le numeste sprint), testare automata, integrare continua, DevOps. Aceasta trecere la o abordare mai agila a implicat discutii cu colegii, citirea unor carti, articole, bloguri, experimente proprii in proiecte de genul one-man-show.

In ultimii ani am lucrat intr-un proiect unde am incercat sa avem o abordare cat mai agila. Si asa am ajuns la “specificatie” si proiecte agile. Am remarcat ca aceste specificatii sunt pur si simplu “uitate” sau nu li acorda importanta necesara in aceste lume IT agila. Toata lumea stie ca un proiect agil se deosebeste de cel waterfall si elimina necesitatea colectarii si creerii unei specificatii complete de la inceput. A fi agil inseamna a nu astepta pana ai o specificatie complete, dezvoltarea incepe aproape imediat ce avem o documentatie, specificatie ce ne permite sa incepem munca si sa livram cod functional in timp de cateva saptamani. Aceasta idee este subliniata clar de documentatia SCRUM ce sustine codul functional mai presus de o documentatie completa. Si de aici incepe problema: toata lumea sau majoritatea are impresia ca in modelul agil nu avem nevoie de specificatie, de o documentatie clara. Daca vrei sa ai un soft bun, ai nevoie de o specificatie buna, indiferent cat esti de agil cu proiectul tau: garbage in, garbage out! Faptul ca ai schimbat felul in care livrezi softul si produsul tau, in bucati mai mici si cicluri dese, nu inseamna ca nu trebuie sa intelegi ceea ce dezvolti! Care este avantajul in a livra repede, dar  produsul tau nu implementeaza corect specificatia functionala?

De asemenea, consider ca atunci cand dezvolti sisteme complexe, care depinde de alte sisteme, e absolut necesar ca specificatia sa aiba un grad de maturitate si sa fie validata.

Eu sunt de acord sa fim agili si abordez proiectele soft intr-un mod cat mai agil, dar cu o specificatie, documentatie cat mai solida si mai corecta. Daca e posibil, nu pierde timpul creand o specificatie completa. Administreaza, controleaza, dezvolta specificatia ca si cum o faci cu codul: sprint dupa sprint, agil. Dar nu uita niciodata sa creezi o specificatie care corespunde cererilor, sa o validezi si sa o documentezi corespunzator!

English Version:

Throughout the last few years and especially during my last big software project, I have slowly transitioned to a more agile software development approach as part of my daily work. By agile approach I am referring to project management, faster release cycles (i.e. sprints as they are called in SCRUM), some testing automation, and hopefully soon even more advanced DevOps techniques. Facilitating this transition involved reading online blogs, articles, books, experimenting, as well as many conversations with peers.

But what do “requirements” have to do with all this? I noticed that one of the most left out topic in the context of agile discourse is requirements. Everyone knows that agile is breaking the rigid waterfall development cycle and eliminates the need for lengthy requirements gathering efforts. Agile doesn't wait for complete requirements to be collected and documented; agile starts delivering production ready code within weeks (depending on the duration of the sprints). This is even stated in the agile manifesto as “working software over comprehensive documentation” or something like that. The whole agile discourse leaves the impression that if you are agile you don’t need requirements! In my opinion that is false. If you want to build good software you will need good requirements, agile or not; garbage in / garbage out applies here as well. The fact that you are changing the way you deliver the whole software product end to end, i.e. in smaller pieces and much faster and regular cycles, does not mean you don’t need to properly understand what you are building. What is the use in delivering functionally incorrect features really fast?

Also, I believe it is worth mentioning here that there are cases when the complete set of requirements has to be collected and documented beforehand. Think about building an accounts receivable system (AR) that handles billings to vendors, money received, payment terms policies, general ledger balances, etc. The degree of interdependency between the different functions of such a system requires comprehensive requirements to be documented and validated first.       

That being said, I am all for agile but with proper requirements management. If applicable, don’t waste time collecting all the requirements upfront. Manage the requirements collection the same way you manage the development – i.e. agile, sprint by sprint. But make sure to collect, validate, and document the requirements!

12. septembrie 2013 12:51
by skorpionking
0 Comentarii

Nokia Lumia 1020

12. septembrie 2013 12:51 by skorpionking | 0 Comentarii

The 41MP PureView camera comes with six ZEISS lenses, second generation optical image stabilization (OIS), Xenon flash and LED light, as well as the Nokia Pro Camera app which supports dual capture – the ability to simultaneously takes a high resolution 38MP image for after-shot re-framing opportunities, and a 5MP picture for sharing on social networks. With the 38MP image, users can adjust the zoom level and re-frame part of the photo to focus on after the shot has been taken. The Nokia Pro Camera app also supports manual adjustments of ISO, white balance, manual focus, shutter speed, and flash settings. The good news is, this app is not limited to the Lumia 1020 only, but will be coming to other existing Lumia PureView devices too including the Nokia Lumia 920, 925 and 928 (Amber update required).


Full Review:

12. septembrie 2013 11:16
by skorpionking
0 Comentarii

Nokia Lumia 925

12. septembrie 2013 11:16 by skorpionking | 0 Comentarii

Lumia 925, launched in May this year, is a flagship device and the only Nokia smartphone with an aluminium frame. Lumia 925 has a 4.5-inch PureMotion HD+ screen with ClearBlack display technology and 1280x768p resolution. It is powered by a dual-core 1GHz processor and has 1GB RAM, 16GB internal storage and 7GB free SkyDrive storage. Connectivity options in the phone include 2G, 3G, LTE, Wi-Fi, Bluetooth 3.0, microUSB 2.0, NFC and wireless charging (via removable back panel). It has an 8MP Carl Zeiss camera with dual-LED flash and a 1.3MP secondary unit.


12. septembrie 2013 11:10
by skorpionking
0 Comentarii

Nokia Lumia 625

12. septembrie 2013 11:10 by skorpionking | 0 Comentarii

The new Lumia 625 features a 4.7-inch screen, LTE, but is a mid-range device. It has a LCD display with 800x480p resolution and 201ppi pixel density. Under the hood is a 1.2GHz dual-core processor, 512MB RAM and Windows Phone 8 operating system. The company has included 8GB internal storage in the phone, along with microSD support up to 64GB.