25,474 reputation
664109
bio website bcastell.com
location Toronto, Canada
age
visits member for 5 years, 3 months
seen yesterday

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.


Nov
12
comment What does CPU usage for a process actually mean
@JamieHanrahan and on some systems (e.g. embedded microcontrollers) the "Hello world" program is something like "flash this LED over and over". Programs run on a variety of processors and systems; infact, the C language has provisions for systems without any input or display. The goal of an OS is to provide unified access to hardware for a wide variety of different programs with different purposes, and/or to allow for easier multitasking. Of course a "Hello world" program on a high-level OS requires more process code, as you do need a way to interact with the display, now...
Nov
9
comment Can't click start button
Have you tried using a different mouse?
Nov
7
comment Can I Upgrade a CPU from Intel Core i3-2350m 2nd Gen to core i5-2450m 2nd Gen?
@Vaibhav so long as you can obtain it in the PGA socket, that processor should work. Note, however, that the PGA-version of the i7 2620M has a lower max. temperature of 85C (versus 100C for the i3 and i5 models you've mentioned). With similar clock speeds, unless you require the larger cache in the i7, I would probably stick with the more inexpensive i5.
Nov
5
comment Outlook spelling/proofing language / dictionary issue
You can also add/modify system languages via Control Panel -> Region & Language if you've hidden the language bar.
Nov
5
comment Restart-Computer and hold script
@Jente you have a way to restart your script, or continue it from after the reboot line? Either way, maybe it's better to just separate the two into different files/scripts.
Nov
5
comment After tea spill (unsweetened), 2 keys are mixed up (but working)
Sometimes you can find replacement parts fairly cheap ($16 replacement for you), but so long as you've removed all the water you can there shouldn't be any issues. I'm not familiar with ASUS keyboards, but if the keys are glued instead of on hinges than yes I would avoid removing them, and wait it out (or see if you can just find a new keyboard, and swap it yourself).
Oct
1
comment How to get the current column name in Excel?
@krystanhonour use the last formula from my answer in that case... However, this will not work with two-letter columns. In that case, you need the following formula to properly parse two-letter columns:
Sep
10
comment Before Operating systems, What concept was used to make them work?
Think of code running on a microcontroller. It doesn't run in an operating system, but it's C-code that compiles down to machine code, and is run on a real, physical device (after this machine code is "flashed" to the firmware). Operating systems just facilitate having multiple programs interact at the same time with all the parts of the computer by using the concepts of resource sharing and process scheduling. Likewise, you can also use an operating system on that little microcontroller - if you need it.
Sep
10
comment Before Operating systems, What concept was used to make them work?
Related: What does CPU usage for a process actually mean?
Sep
10
comment do I get half the CPU speed for a single thread if HT is turned on?
possible duplicate of Hyperthreading Calculating Load, How does Windows processor affinity work with hyperthreaded CPUs?, or What are threads, and what do they do in the processor?
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
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 CLV 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 CLV 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.