sábado, 9 de marzo de 2019

Setup Dual booting system and Reset Computer

Here a list of concepts I learn as I went through this exercice:

UEFI "Both UEFI and BIOS are low-level software that starts when you boot your PC before booting your operating system, but UEFI is a more modern solution, supporting larger hard drives, faster boot times, more security features, and—conveniently—graphics and mouse cursors."  (definition from this website)

Dual booting: When the second system is installed, in my case Ubuntu, it install a boot loader which allows to pick between two OS when starting. Ubuntu uses GRUB. Normally the bootloader is installed in a different parition, in my case a FAT32 partition of around 32GB. 

GNU GRUB (or just GRUB)is a boot loader package that supports multiple operating systems on a computer. During boot-up, the user can select the operating system to run. GNU GRUB is based on an earlier multiboot package, GRUB (GRand Unified Bootloader). GRUB is most often used on Unix-like systems, including GNU, Linux and Solaris.

Boot configuration Data: To edit boot options in Windows, use BCDEdit (BCDEdit.exe)


Booting Partition: Grub is installed normally into it's own partition. If the partition is corrupted you can recover it with a Windows usb drive. There are several commands (bootrec /fixmbr, bootrec /fixboot, bootrec /ScanOs  , bootect /rebuildBcd)

If there issues with those commands you might have to format the partition.


Reset Windows Installation

Windows allows reset easily as long as a recovery partition is enabled. 

Windows Recovery Environment: Its commonly save in a hidden partition (1GB in my case) and it contains a winre.wim file. A windows recovery enviornment can be specified for the current windows installation with the following commands:

bcdedit /enum all: to check the the current configured recovery partition (if there is one)
reagentc /info

If there is no recovery environment configure and once we locate the wim file we can set the path like this:
reagentc /setreimage /path C:\windows\system32\recovery


Then we just run reagentc /enable to activate the it. 





domingo, 11 de octubre de 2015

Articles and sources to pick from

Lean scotland videos
https://vimeo.com/leanagilescotland/videos/page:1/sort:dat/

Sandro mancuso blog
http://codurance.com/blog/

Jabe Bloom - Decisions and Futures: On Designing Boundaries, Systems, and Distributed Cognition 
I have already watched this video. Its a bit phylosophical, but the guy has a phd in design and it can be quite interesting, maybe follow a bit more of his work.

Recommended chat from Dan north
https://vimeo.com/36579366
Bret Victor shows how to get instantaneous feedback. Very cool!

Scotland videos conference
https://vimeo.com/52085327

Back to the builder

Still fighting with the building. I've read another article where highlights having immutable objects and having objects in full state (rather that half populated) as arguments to use this pattern.

But one interesting thing in this article are links to eclipse plugins to generate the builder code.

http://jlordiales.me/2012/12/13/the-builder-pattern-in-practice/

miércoles, 7 de octubre de 2015

scotland videos conferences

Tell dont wait to be asked

Today I have a conversation with one of my collegues, we discuss about the interface between two systems: java and ciboodle.

In the this case the direction is JAVA verso ciboodle, but I can see two approaches:
We could see ciboodle as a listener of java, so the method exposes will be "onJavaAction" (onATRFailure), and them implement whatever is relevant to ciboodle
The other will be having ciboodle to expose a "createCase" service.

Notice that the method name its very important here because it drives the approach versus a listener or in the second case versus a service method.

So lets have a look at the arguments behind each solution. In the first case, the implementation seems more flexible. The method  will not have to change if ciboodle needs to do an extra step like creating another task. ciboodle get the information from the JAVA notification and he can do whatever is required.

For the second case the argument is that exposing a web service should be expose in terms of the system, and therefore it will not make sense to expose a method in system as listener of other system. One of the things that doesn't seem to fit is when JAVA communicates the type of ATR that it was processing. It uses an enum. Defining a web  service interface that uses an enum of another system it seems weir. In the best scenario you can imported to your system, other ways you have to duplicate. But even if it make sense to import it doesn't seem right to use these concepts as API of call center system.

The argument is between call the method: createWorkItem(priority, target,...)
or onFailedATRRecover(failedATR)
in the second scenario failedATR, contains a type which a distinction java does to implement their logic.

It reminded me of this video from Kevin Rutherford

Kevin, uses a listener approach. Where the system notifies to a bus the event that has ocurred, "FailedATR".  The event at this point is the message that systems are using to communicate and both system should know about it (how to create, how to parse it).

Where these events belong to? Java project? Ciboodle project? Or a whole new project that I am missing?

Kana enterprise open points

Desktop framework
Use of tabs
Used of relevant items: which cases are displayed when a customer is selected(entitled cases, associated cases, subcases)
Build processes
Why java build takes 10minutes ours takes 1h.
Exporting zip?
Implementing code quality check's

miércoles, 30 de septiembre de 2015

Testing ui ciboodle

Create tool which allows to set componentes state. This allows to either check the state of the components in a TDD classic style test or to check the behaviour by testing that the tool was called with the right parameters.