Profile

Cover photo
Thomas Russell
Worked at ViewSat
Attends University of Oxford
Lives in London
96 followers|53,703 views
AboutPostsPhotosYouTube

Stream

Thomas Russell

Shared publicly  - 
1
Add a comment...
 
Pretty cool and intuitive way to explain it!
 
Scientists like Stephen Hawking and Elon Musk have recently signed and supported an open letter warning of the dangers of AI. Should we be worried about the socio-political ramifications of artificial intelligence? Here's a great elaboration of the subject using waffles:
Artificial Intelligence (A.I.) is more than just self-driving cars, super-intelligent stock calculators and military drones. It has already infiltrated our lives in many mundane ways. Artificial Intelligence is in your phone’s auto-correct, and can control your... #ai #automation #elonmusk
8 comments on original post
1
Add a comment...

Thomas Russell

Knowledge Sharing  - 
 
In response to Nikolay Orlyuk's feedback of my earlier article describing how to make a Tensor class in C++, I've written an article showing how to write a storage class which uses template metaprogramming to determine at compile-time whether to allocate memory on the stack or the heap. 

I'd be grateful to hear people's feedback on this; and to see if anyone has any other ideas for how this could be improved further.

Thanks!
A step-by-step guide to creating a fixed-size storage class with automatic allocation on the heap or the stack depending on the compile-time size.
1
Pat Le Cat's profile photo
 
Self-advertisement of your own blogs is not allowed here. Sorry.
Add a comment...

Thomas Russell

Discussion  - 
 
Writing a generalized Tensor class in modern C++, with compile-time computation, variadic templates and static assertions.

This article is written in preparation for writing a fully-parallelized, multidimensional Poisson equation solver by successive over-relaxation. 

Please let me know if you encounter any bugs/optimizations. I hope you find this useful!
A step-by-step guide to writing a tensor class in modern C++ using variadic templates, template metaprogramming and compile-time computation.
6
2
Jaime Maia's profile photoJane Fusello's profile photo
Add a comment...

Thomas Russell

Shared publicly  - 
1
Add a comment...
 
A wonderful exhibition for anyone within travelling distance of London interested in history or how modern medical techniques can be applied to uncover mysteries surrounding ancient mummies. I would thoroughly recommend it! #britishmuseum
 
Discover the secrets of this 5,000-year-old mummy in #8mummies, extended to April #MummyMonday http://ow.ly/GNkSi
1 comment on original post
1
Add a comment...
Have him in circles
96 people
Jayedur Rahman's profile photo
Patrick Fawcett's profile photo
Sami YILMAZ's profile photo
T Berker Dundar's profile photo
Jason McElwaine's profile photo
CodeGrape .com's profile photo
Julien Dubois's profile photo
Mary Starr's profile photo
Fiberhub's profile photo
 
A short blog-post article on a more generalized version of the Sherlock and Probability problem on HackerRank, where one has to calculate the probability of randomly selecting a pair of indices with certain properties.

HackerRank Problem Link:
https://www.hackerrank.com/challenges/sherlock-and-probability
A probabilistic approach to a fun little HackerRank problem about the probability of selecting two indices meeting certain properties.
1
Add a comment...

Thomas Russell

Discussion  - 
 
In response to Nikolay Orlyuk's feedback of my earlier article describing how to make a Tensor class in C++, I've written an article showing how to write a storage class which uses template metaprogramming to determine at compile-time whether to allocate memory on the stack or the heap. 

I'd be grateful to hear people's feedback on this; and to see if anyone has any other ideas for how this could be improved further.

Thanks!
A step-by-step guide to creating a fixed-size storage class with automatic allocation on the heap or the stack depending on the compile-time size.
1
Add a comment...

Thomas Russell

Shared publicly  - 
 
In response to +Nikolay Orlyuk's feedback of my earlier article describing how to make a Tensor class in C++, I've written an article showing how to write a storage class which uses template metaprogramming to determine at compile-time whether to allocate memory on the stack or the heap. 

I'd be grateful to hear people's feedback on this; and to see if anyone has any other ideas for how this could be improved further.

Thanks!
A step-by-step guide to creating a fixed-size storage class with automatic allocation on the heap or the stack depending on the compile-time size.
1
Nikolay Orlyuk's profile photo
 
Yes, stack is the one side. But I was referring to embedded objects as well. You can't guess where user of library will try to place that object. It can put it into stack and can put it into vector which will place it on heap. Thus I prefer to make behavior/interface:
- Simple to comprehend. The less condition-effect pairs it contains in description the easier to understand, I think.
- Tool should simply do what it was designed for and don't try to be smarter than its user. Don't try to prevent people to do what they want to (I think that's one of the main goals of C/C++).
- It should be easy to combine something more complex on top of it.
- Since you can't know all environments tool will be used in you can't build optimization based on such assumption. Thus better to allow changing/specializing/tuning. Of course if you know that 80% of cases will be like "A" than you can specialize for it.
Add a comment...

Thomas Russell

Knowledge Sharing  - 
 
Writing a generalized Tensor class in modern C++, with compile-time computation, variadic templates and static assertions.

This article is written in preparation for writing a fully-parallelized, multidimensional Poisson equation solver by successive over-relaxation. 

Please let me know if you encounter any bugs/optimizations. I hope you find this useful!
A step-by-step guide to writing a tensor class in modern C++ using variadic templates, template metaprogramming and compile-time computation.
12
2
Robert Dailey's profile photoNikolay Orlyuk's profile photoVino Varkey's profile photoВсеволод Громов's profile photo
5 comments
 
+Thomas Russell , I simply want to say that by forcing data location to be on heap you take away possibilities from user of that data structure. That CTensor is very similar by its data organization and requirements to std::array<T, size_t>. And I believe that to pursue C/C++ ideas it is better to adopt approach of memory organization used in that container.

Please see code sample https://ideone.com/770bTa for more details.

P.S. Sorry. Yes +Robert Dailey , G+ have very limited formatting for comments and posts.
Add a comment...

Thomas Russell

Discussion  - 
 
Writing a generalized Tensor class in modern C++, with compile-time computation, variadic templates and static assertions.

This article is written in preparation for writing a fully-parallelized, multidimensional Poisson equation solver by successive over-relaxation. 

Please let me know if you encounter any bugs/optimizations. I hope you find this useful!
A step-by-step guide to writing a tensor class in modern C++ using variadic templates, template metaprogramming and compile-time computation.
6
victor noagbodji's profile photo
 
lol, i will just pretend i understand the second sentence and look at the code : )
Add a comment...

Thomas Russell

Shared publicly  - 
 
Writing a generalized Tensor class in modern C++, with compile-time computation, variadic templates and static assertions.

This article is written in preparation for writing a fully-parallelized, multidimensional Poisson equation solver by successive over-relaxation. 

Please let me know if you encounter any bugs/optimizations. I hope you find this useful!
A step-by-step guide to writing a tensor class in modern C++ using variadic templates, template metaprogramming and compile-time computation.
1
Add a comment...
People
Have him in circles
96 people
Jayedur Rahman's profile photo
Patrick Fawcett's profile photo
Sami YILMAZ's profile photo
T Berker Dundar's profile photo
Jason McElwaine's profile photo
CodeGrape .com's profile photo
Julien Dubois's profile photo
Mary Starr's profile photo
Fiberhub's profile photo
Work
Occupation
Programming (C++, VB.NET, Java), Graphic & Web Design
Skills
C++ Programming, Network Programming, Swimming, Guitar
Employment
  • ViewSat
    Software Engineer, 2011 - 2013
    Designed and developed a Data Management System to be used for storage and analysis of information specific to the telecommunications work at ViewSat. The Data Management System was fully networked using the WinSock API and incorporated a client-server architecture with multiple threads for UI and data management. The software was developed in native C++ using Microsoft's MFC API and made extensive use of the C++11 standard library and language features.
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
London
Previously
Oxford
Links
Contributor to
Story
Tagline
C++ Programmer
Introduction
I am a 19 year old aspiring software developer currently studying Physics at the University of Oxford. I particularly enjoy working with the C++ language, and follow it's development closely.

I enjoy numerical methods and am a strong believer in the importance and relevance of computational science.

If you want to find out more about me or my work, visit my portfolio.
Education
  • University of Oxford
    Physics, 2013 - present
  • St. Olaves Grammar School
    A-Levels, 2011 - 2013
  • Dartford Grammar School
    GCSE, 2006 - 2011
  • Mayplace Primary School
    1999 - 2006
Basic Information
Gender
Male
Relationship
In a relationship
Apps with Google+ Sign-in