24,919 reputation
563106
bio website bcastell.com
location Toronto, Canada
age
visits member for 5 years
seen 4 hours ago

I'm currently a graduate student with a B.E.Sc in Electrical Engineering, working towards a M.E.Sc in Robotics & Control Systems. My research involves implementation of computer vision algorithms, in parallel and in hardware, for real-time robotics. In my studies, I focused mostly on computer architectures, embedded systems, image processing, and parallel processing/GPGPU. For now, I'm just enjoying school, updating my website when I can, working on various projects (like PySceneDetect), slaving away on my thesis/research, and of course, contributing to Stack Exchange!

If you should need to contact me directly, leave a comment on this page and I will e-mail you back.

(Extensive) Experienced with Linux / Windows, assembly (x86 & m68k), C/C++, Python, VBA, C#, MATLAB, SDL, GTK+ / Glade, Qt, OpenGL, OpenCV, CUDA, SQL, SQLAlchemy, OpenCL, and VHDL / Verilog.


Aug
17
comment 32-bit to 64-bit skipping 48-bit?
Using 2^64 seems like a massive jump in comparison. Yes, just like in our 16-bit days when "64 kilobyte RAM segments are big enough" or in our 32-bit days when "a 4 gigabyte (32-bit) virtual memory scheme is sufficient". The point is to increase our capabilities in orders of magnitude - not because we need it, but solely because we might...
Aug
9
comment Best factor for determining the bettering of CPU
possible duplicate of Is a higher core count or higher clock speed more beneficial to a computer's performance?
Aug
5
comment How can I synchronise my Outlook Calendar with Google Calendar (preferably using a free/open source tool)?
@YogoZuno thanks for the heads up.
Jul
31
comment How can a 80-bit floating point be used by a 32-bit system?
@markzzz it's partly a matter of history and design. Not all 32-bit CPUs have a floating-point unit, but almost all x86 machines do, so you can deal with floats with no computation overhead. Otherwise, you have to emulate the equivalent operations in software - which is not crazy if the particular CPU your code is running on doesn't happen to have a floating point unit (e.g. a small 8-bit microcontroller). Yes it will be slower in software, but if your application requires a certain level of precision, and the software version is quick enough, sometimes it does make sense.
Jul
31
comment How can a 80-bit floating point be used by a 32-bit system?
@MatteoItalia I see that now, thank you. I thought the original question was asking for a more generic overview of how one could perform operations on numbers larger than the processor word size, and not the specific implementation of extended 80-bit floats in x86 (also why my example was 90 bits instead of 80...). I've updated the answer now to better reflect this, thank you for the heads up.
Jul
30
comment How can a 80-bit floating point be used by a 32-bit system?
Everything you added from my inspiration is correct, so no worries there :) Just one point I should mention, although you can use native CPU instructions where a floating-point unit exists, one can also perform floating point operations in software (with equivalent bitwise or integer math operations). To extend to that point, given enough memory, you can also have arbitrary precision numbers (as opposed to our fixed 64-bit, or 80-bit in this case) using software algorithms/libraries (one commonly used one is the GNU Multiple Precision library).
Jul
19
comment i3-2350M at 2.30 GHz vs i7-3517U at 3 GHz
possible duplicate of Is the cache size or number of cores more important when weighing CPU performance?, Is a higher core count or higher clock speed more beneficial to a computer's performance?, or CPU Cores: The more the better?.
Jul
19
comment How can I stream audio signals from various devices/computers to my home server?
For anyone with a Raspberry Pi, Pi MusicBox seems the way to go to accomplish this. I was hoping for something a bit more generic as that is only for the Raspberry Pi, but is a worth-while mention nonetheless.
Jul
12
comment How do I know if an optical drive is able to read CAV written DVD?
Outside of Laserdiscs and hard drives (which are specific to a particular manufacturer/device anyways), yes you can read any CD in any CD drive and any DVD in any DVD drive. One issue with older DVD hardware was compatibility between DVD-R and DVD+R media, which may be a related issue in this case.
Jul
12
comment Why are we still using CPUs instead of GPUs?
@vartec as a seasoned CUDA developer, I think that may be the most accurate analogy I have ever seen, hands down. I'm saving that one :)
Jul
12
comment How do I know if an optical drive is able to read CAV written DVD?
@user2284570 and the beauty of digital data is that, it doesn't matter how you write the 0's and 1's to the disc, or how fast you do it - it only matters that those exact 0's and 1's get written to the disc. At that point, it is simply a DVD which can be decoded by any DVD reader - regardless of the speed regulation method that particular drive uses.
Jul
12
comment Is there way to enable more than 4 GB RAM in 32-bit Windows OS?
@user2284570 it clearly says in my answer that what I wrote is specific to Windows 7, just like the OS this question is about to begin with...
Jul
8
comment Adding together values from multiple spreadsheets (VBA)
There are plenty of existing Python modules that can work directly with XLS and XLSX files, as well as a newer module called OpenPyXL.
Jul
3
comment How can I delete over 2,000,000 files in a single directory efficiently?
possible duplicate of Deleting large amount of files in Windows is slow
Jul
3
comment How can I delete over 2,000,000 files in a single directory efficiently?
What about using rmdir? The command rmdir /s [FOLDER TO DELETE] should do the trick.
Jul
1
comment How to tell which parts of a binary file are changing
Possible duplicate of Binary Diff Tools On Windows or How do I compare binary files in Linux?
Jul
1
comment How to choose if you want to close the command prompt window or not running a .exe or .bat file?
To do this programmatically, you need to check whether or not you are running the program in a debugger (in the latter, sometimes the console window is displayed). You can simply add a prompt when your program finishes telling the user to "Press any key to exit." and then simply close your program after the user enters anything.
Jul
1
comment Why MIPS CPU has 32 Register?
Possible duplicate of these questions on Stack Overflow: Why 16 Registers is ideal number of registers in CPU ARM Architecture? (the answer covers MIPS, not ARM) and If registers are so blazingly fast, why don't we have more of them?.
Jul
1
comment Changing the size of a FAT32 partition?
A FAT32 partition can be resized non-destructively. Depending on how full the partition is, some data might have to be physically moved within the new partition boundary when shrinking it. If a given software tool does not support this operation, it's not uncommon for that tool to then exclaim "Cannot Resize FAT32 Partitions" which, although technically possible, is simply not supported by that one particular application.
Jun
30
comment Windows 7 Tray Icons Invisible
@TheAdamGaskins that little pop-up window represents any "hidden" tray icons (hidden meaning not immediately visible from the task bar without clicking the little pop-up arrow); in the past, by disabling this feature, then re-enabling it, any invisible/unusable icons that were 'stuck' went away. I'm not on Windows at the moment, but all you have to do is click Customize... and set Windows to Show All Icons or something like that (I can't remember the setting name, but when configured, all icons should appear on the taskbar - sans the "invisible" ones, now).