Starbeamrainbowlabs

Stardust
Blog


Archive


Mailing List Articles Atom Feed Comments Atom Feed Twitter Reddit Facebook

Tag Cloud

3d 3d printing account algorithms android announcement architecture archives arduino artificial intelligence artix assembly async audio automation backups bash batch blender blog bookmarklet booting bug hunting c sharp c++ challenge chrome os cluster code codepen coding conundrums coding conundrums evolved command line compilers compiling compression conference conferences containerisation css dailyprogrammer data analysis debugging defining ai demystification distributed computing dns docker documentation downtime electronics email embedded systems encryption es6 features ethics event experiment external first impressions freeside future game github github gist gitlab graphics guide hardware hardware meetup holiday holidays html html5 html5 canvas infrastructure interfaces internet interoperability io.js jabber jam javascript js bin labs latex learning library linux lora low level lua maintenance manjaro minetest network networking nibriboard node.js open source operating systems optimisation outreach own your code pepperminty wiki performance phd photos php pixelbot portable privacy problem solving programming problems project projects prolog protocol protocols pseudo 3d python reddit redis reference release releases rendering research resource review rust searching secrets security series list server software sorting source code control statistics storage svg systemquery talks technical terminal textures thoughts three thing game three.js tool tutorial twitter ubuntu university update updates upgrade version control virtual reality virtualisation visual web website windows windows 10 worldeditadditions xmpp xslt

Creating new Ramdisks Programatically with Imdisk

For a while now I have used Imdisk to create ramdisks to store data temporarily while I experiment with it. Imdisk is a driver for windows systems that allows you to create virtual drives that are stored either in memory, or in a file on your hard drive. It also allows you to mount existing images stored in iso or img files to let you explore their contents, for example.

Mounting a new ramdisk with Imdisk

Since I use ramdisks so often, I have written a batch script that automates the process of creating a ramdisk, and I thought that I would share it here:

@echo off

:: BatchGotAdmin7
:: From http://stackoverflow.com/a/10052222/1460422
:-------------------------------------
REM  --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
set params = %*:"=""
echo UAC.ShellExecute "cmd.exe", "/c %~s0 %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"

"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
exit /B

:gotAdmin
pushd "%CD%"
CD /D "%~dp0"
:--------------------------------------

echo Ramdisk creation script

title Ramdisk Creation

set /p drive_letter=Enter Drive Letter:

if "%drive_letter%"=="" ( set drive_letter=R )

if exist %drive_letter%: (
echo A disk already exists with the letter %drive_letter%:.
echo Please unmount it before using this script.
)

set /p size=Enter Size: 

imdisk -a -s %size% -m %drive_letter%: -p "/fs:fat32 /q /y"

pause

( Pastebin, Raw, Size: 1.16KB )

To use it, first enter the driver letter that you want to assign to the new ramdisk, and then type in the size of ramdisk you want it to create, for example 512M, or 1G. Make sure you don't pick a number that is close to or above the total amount of ram you have in your system! Imdisk grabs all the RAM it will need for the ramdisk in advance!

Windows 10: My thoughts

Welcome to another review post here at starbeamrainbowlabs.com. Sorry for the lack of posts lately, I have been busy with my Programming 2 coursework (there will be a post about this soon!). This post, however, is going to be all about my thoughts on Microsoft's new operating system, Windows 10. Brace yourselves: this might be a long post.

Recently I have obtained a copy of Windows 10 though Microsoft's DreamSpark program for university students. After a managing to download it (I had at least 1 failed attempt), I had to try it out in a virtual machine and write this blog post.

Positives

Lets start with the good aspects of Windows 10. After using Windows 8, the ability to use the 'metro' apps (Yes I do know that they changed the name, but I don't know what they changed it to) in the windowed mode is really nice. Even though I liked the idea of using them in full screen mode, it got confusing quickly when multitasking.

I also noticed the new "Storage Spaces" option in the Control Panel. It look like you can pool the storage space on multiple drives to create one larger drive. I think it's a nice idea to make an interface to allow the average user to create RAID setups. It is also intelligent enough to put the most frequently used files on the SSDs in a setup, which is awesome.

The new (returning!) start menu is also a huge improvement. Although I haven't used it enough to know if your most frequently used programs appear at the top of your start menu (it really should), it still looks cool.

The other cool thing are the multiple desktops. You can create and remove desktops at will by pressing WIN + TAB. In this menu you can also manage the programs that you have open, just as you could before. Linux has had this feature for ages - it is good to see it finally landing in Windows 10 too.

Negatives

Now that I have talked about the positives, I would also like to mention the negative things about windows 10. Sadly, this list is rather longer than the list of positives.

Firstly, when freshly installed, Windows 10 takes up about 10.1GB of space. I wanted to include this - I don't really know if this is better or worse than Windows 8.1. The first real bad thing about Windows 10 that I found was that the operating system's interface looks even flatter than the interface of Windows 8.1. What I mean by this is that the number of colours that have been used in the interface has been reduced again. Although it gives it more of a 'minimalist' feel, I don't think they have got it quite right. Google have it right with Chrome, but I think that Windows 10 takes it just a bit too far. That is just my opinion though.

The search box takes up a lot of valuable space on the taskbar, leaving less room for the program I have open. This shouldn't be a huge issue for those with large wide-screen monitors, but many of us (myself included) don't have one so quickly find that we have run out of room on our taskbars. The search box, in my opinion, belongs in the start menu and not the taskbar.

Another small tweak I found most annoying is that I couldn't set windows update to check for update but let me choose when to download and install them. You see, I prefer to check what is going to be installed before it happens - that way I can check on the internet to make sure that there aren't any major bugs in the updates that I am about to install. There is a workaround for this - you can set your internet connection to be a "Metered Connection" (another new feature of Windows 10), but that feels clunky and makes the metered connection setting feel useless to me.

The Apps, though improved, also have several issues associated with them. I would like the option to choose which apps I install at first during the setup - I found that a lot of (for me) useless apps got installed when I first installed Windows 10. That way I can save on hard drive space.

It would also be nice if your installed apps were shown in the "Programs and Features" section of the Control Panel (currently they are not shwon there). That would provide an easy mechanism with which I can remove the ones I don't want.

The apps don't freeze / hang as much as they did in Windows 8, but I still feel like they are a little bit too unstable - they can take a long time to load. This loading time feels even longer without a determinate progress bar to show that the app hasn't crashed. I feel that it is important to let your user's know that your program (and operating system!) is actually doing something. Advanced users may also like it if the operating system told you what is doing in addition to the fact that it is doing something.

I found that I couldn't remove OneDrive app (I assume that it's one). Since I don't use OneDrive (I have a different backup system in place), I didn't want OneDrive starting every time Windows started. I did (eventually) find that you can actually prevent it from starting with the operating system through the "Start up" tab of the task manager.

This leads me into the final point I wish to make: I think that they have tried too hard to make it 'integrated' with their other services such as their Microsoft Accounts and OneDrive. This reduces the number of choices that the user has and make the user feel as though they are forced into something that they perhaps do not want.

Conclusion

All in all, Windows 10 looks like a definite improvement on Windows 8.1, but it still isn't quite right. I feel as though Microsoft isn't providing it's users with the choice that it used to - this is one of the key reasons I am using a Windows operating system now (I find Windows 7 to be both easy to use and flexible). For most purposes, Windows 10 will be a splendid operating system for the average user. I feel that advanced users will begin to grow frustrated by Microsoft's new operating system due to the lack of choice that is beginning to creep in.


Wow. That was a long post! Anyway, in the next post I will (hopefully) be releasing both the code and the binaries behind the coursework I have recently done.

Art by Mythdael