“During my time at Morgan Stanley, I worked very closely with Shafik on a day-to-day basis developing and managing the Unified Communications applications. Apart from his overall intelligence and ability to manage his deliverables what specifically stood out in him was his interest and skill at rolling up his sleeves and digging deep into a problem to figure out a solution. His skill in the fundamentals of computer science and programming (be it languages or concepts) was excellent and he was an asset to the team. In addition, he took an active interest in the growth of the firm via helping in recruiting activities and other such initiatives. He has a broad range of interests and was an excellent partner whom we all relied on extensively.”
About
I have about fifteen years of professional C++ development experience
in both the finance and tech industry and twenty plus years of
professional software development experience.
Folks in the community will know me from a few different places. I
have ten years experience answering C++ and C questions on Stackoverflow and
I am in the top 0.08% of contributors:
https://stackoverflow.com/users/1708801/shafik-yaghmour
I am probably most well known within the C++ community for my weekly C++
Twitter/Mastodon quizzes, I have published over 250 quizzes. You can
find an archive of his quizzes in a couple of places:
https://twitter.com/search?q=%23Cpppolls%20(from%3Ashafikyaghmour)&src=typed_query&f=live
and:
https://hachyderm.io/tags/Cpppolls
Folks also know me through my blog:
https://shafik.github.io/
I am known for writing the modern definitive guide on strict aliasing
and type punning:
https://gist.github.com/shafik/848ae25ee209f698763cffee272a58f8
Folks also know me from my work on the C++ committee from my proposals:
"Enumerating Core Undefined Behavior": http://wg21.link/P1705
"Adding an Undefined Behavior and IFNDR Annex": https://wg21.link/p3075
and I am actively involved in the WG21 core working group, public examples
of my participations can be seen on issues I have filed at:
https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html
https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html
and my work as a compiler developer supporting clang, one of the three
open source C++ compilers developers use. Right now I am triage most of the clang
C++ bugs that come in from the llvm community:
https://github.com/llvm/llvm-project/issues?q=is%3Aissue+is%3Aopen+commenter%3Ashafik
and actively contribute the code to clang:
https://github.com/shafik
Contributions
-
What are the benefits of choosing an easy-to-learn programming language?
Often what folk will consider an "easy" to learn programming language will be those that have a repl (read-eval-printl loop) which allows you to experiment rapidly, make mistakes and try again with relatively low cost. The next feature that is often associated with "easy" to learn is that they have libraries, packages of built in features that allows one to do graphics easily. A lot of projects can feel more meaningful if you can draw and animate, even if it is just basic. Scratch is worth calling out because it is really an excellent tool for those starting from scratch. Block based programming makes a lot of concepts easier to digest and understand for the first time. It is quite powerful if you master it.
-
How can you maximize the benefits of using a new programming language?
Learning a new language is a great way to understand the strengths and weakness of the languages you already know as well as the new language you are learning. What is easy or hard to do in each language and do you understand why? Can you adapt idioms from one language to another and do they have the same performance and ergonomics? You can compare language using many tasks. Basic data structures and algorithm tasks are often good. Sometimes competitive programming type problems can also be good. Problems you know well and have solved in another language can also be very instructive. Often even trivial tasks can highlight major differences but non-trivial problems are also important.
-
What are the most effective ways to learn a new programming language fast?
How to find the right online resource is going to vary from one language community to another. If you are able to connect to a community for the language you are learning it can make an enormous difference. For the C++ community includecpp has a discord server where folks are always happy to help beginners: https://www.includecpp.org/ and I wrote a blog on many other resources for C++: https://shafik.github.io/c++/learning/2019/09/05/getting_started_learning_cpp.html In general Stackoverflow: https://stackoverflow.com/ is always a good place to ask questions but results will vary greatly. Dev Community is another general resource that can help you get started and find resources: https://dev.to/
Activity
-
#3 Christmas C++ 🎄⛄️🎄⛄️🎄⛄️🎄⛄️🎄⛄️ What is Santa's favorite statement? 🎅🎅 The elfif 🎄⛄️🎄⛄️🎄⛄️🎄⛄️🎄⛄️ #cplusplus
#3 Christmas C++ 🎄⛄️🎄⛄️🎄⛄️🎄⛄️🎄⛄️ What is Santa's favorite statement? 🎅🎅 The elfif 🎄⛄️🎄⛄️🎄⛄️🎄⛄️🎄⛄️ #cplusplus
Posted by 🧐 Shafik Yaghmour
-
C++ quiz #286 Temporary materialization and reinterpret_cast Answer here: https://lnkd.in/gnisWvkP #cplusplus
C++ quiz #286 Temporary materialization and reinterpret_cast Answer here: https://lnkd.in/gnisWvkP #cplusplus
Shared by 🧐 Shafik Yaghmour
-
TIL a math equation that also doubles a neat limerick A dozen, a gross, and a score Plus three times the square root of four Divided by seven Plus…
TIL a math equation that also doubles a neat limerick A dozen, a gross, and a score Plus three times the square root of four Divided by seven Plus…
Shared by 🧐 Shafik Yaghmour
Experience
-
Senior Software Developer
Flyby Media, Inc.
-
Software Developer
Hedge Fund
-
FE student
Polytechnic University
-
SIAC
Education
Patents
-
Computer object tagging
Issued USPTO 08554783
Methods for classifying computer objects. The methods may comprise receiving a tag for a first computer object. The tag may comprise at least two nested categories describing the first computer object. The methods may also comprise updating a hierarchy of categories for computer objects to include the at least two nested categories describing the computer object. In addition, the methods may comprise displaying a graphical representation of the hierarchy of categories, and displaying an…
Methods for classifying computer objects. The methods may comprise receiving a tag for a first computer object. The tag may comprise at least two nested categories describing the first computer object. The methods may also comprise updating a hierarchy of categories for computer objects to include the at least two nested categories describing the computer object. In addition, the methods may comprise displaying a graphical representation of the hierarchy of categories, and displaying an indication of computer objects having tags comprising a first category when an indication of the first category is received.
Recommendations received
4 people have recommended 🧐 Shafik
Join now to viewMore activity by 🧐 Shafik
-
#1 Christmas C++ 🎄⛄️🎄⛄️🎄⛄️🎄⛄️🎄⛄️ What is one of Santa’s favorite data…
#1 Christmas C++ 🎄⛄️🎄⛄️🎄⛄️🎄⛄️🎄⛄️ What is one of Santa’s favorite data…
Posted by 🧐 Shafik Yaghmour
-
C++ quiz #285 Comparing arrays Answer here: https://lnkd.in/gE6__9WD #cplusplus
C++ quiz #285 Comparing arrays Answer here: https://lnkd.in/gE6__9WD #cplusplus
Shared by 🧐 Shafik Yaghmour
-
Prior to C23 it was effectively undefined behavior for users to declare function starting with: is[a-z] or: to[a-z] https://lnkd.in/geFWSAzq C23…
Prior to C23 it was effectively undefined behavior for users to declare function starting with: is[a-z] or: to[a-z] https://lnkd.in/geFWSAzq C23…
Shared by 🧐 Shafik Yaghmour
-
How old were you when you learned about mullender.c https://lnkd.in/g6SjEpCX #programming
How old were you when you learned about mullender.c https://lnkd.in/g6SjEpCX #programming
Shared by 🧐 Shafik Yaghmour
-
C++ quiz #284 A lot of dots Answer here: https://lnkd.in/guyve8-e #cplusplus
C++ quiz #284 A lot of dots Answer here: https://lnkd.in/guyve8-e #cplusplus
Shared by 🧐 Shafik Yaghmour
-
Man walks into a lamp post . . . . . . . . . . . . . . . . . . . Don't worry, he only sustained light injuries 🥁
Man walks into a lamp post . . . . . . . . . . . . . . . . . . . Don't worry, he only sustained light injuries 🥁
Posted by 🧐 Shafik Yaghmour
-
C++ quiz #283 Indeterminate nullptr? Answer here: https://lnkd.in/gzQZDtFt #cplusplus
C++ quiz #283 Indeterminate nullptr? Answer here: https://lnkd.in/gzQZDtFt #cplusplus
Shared by 🧐 Shafik Yaghmour
-
#20 Spooky Halloween C++ 👻🎃👻🎃👻🎃👻🎃👻🎃 Remember folks this is an ambiguous time of year for your programmer colleagues. If you invite them…
#20 Spooky Halloween C++ 👻🎃👻🎃👻🎃👻🎃👻🎃 Remember folks this is an ambiguous time of year for your programmer colleagues. If you invite them…
Posted by 🧐 Shafik Yaghmour
-
#19 Spooky Halloween C++ 👻🎃👻🎃👻🎃👻🎃👻🎃 int f() { int indeterminate_value; return /*of…
#19 Spooky Halloween C++ 👻🎃👻🎃👻🎃👻🎃👻🎃 int f() { int indeterminate_value; return /*of…
Posted by 🧐 Shafik Yaghmour
-
#18 Spooky Halloween C++ 👻🎃👻🎃👻🎃👻🎃👻🎃 What is a dragons favorite algorithm 🐲🐲 std::accumulate 👻🎃👻🎃👻🎃👻🎃👻🎃 #cplusplus
#18 Spooky Halloween C++ 👻🎃👻🎃👻🎃👻🎃👻🎃 What is a dragons favorite algorithm 🐲🐲 std::accumulate 👻🎃👻🎃👻🎃👻🎃👻🎃 #cplusplus
Posted by 🧐 Shafik Yaghmour
-
#17 Spooky Halloween C++ 👻🎃👻🎃👻🎃👻🎃👻🎃 Why did the scarecrow make such a good C++ dev? 🌾 🌾 Because they were always outstanding in their…
#17 Spooky Halloween C++ 👻🎃👻🎃👻🎃👻🎃👻🎃 Why did the scarecrow make such a good C++ dev? 🌾 🌾 Because they were always outstanding in their…
Posted by 🧐 Shafik Yaghmour
-
#15 Spooky Halloween C++ 👻🎃👻🎃👻🎃👻🎃👻🎃 On Halloween a parent ask their child what their favorite character in class was today 🐢 🐢 The…
#15 Spooky Halloween C++ 👻🎃👻🎃👻🎃👻🎃👻🎃 On Halloween a parent ask their child what their favorite character in class was today 🐢 🐢 The…
Posted by 🧐 Shafik Yaghmour
-
#14 Spooky Halloween C++ 👻🎃👻🎃👻🎃👻🎃👻🎃 How do you scare a C++ dev who is also an environmentalist 🚗 🚙 Almost Always Auto…
#14 Spooky Halloween C++ 👻🎃👻🎃👻🎃👻🎃👻🎃 How do you scare a C++ dev who is also an environmentalist 🚗 🚙 Almost Always Auto…
Posted by 🧐 Shafik Yaghmour
-
#12 Spooky Halloween C++ 👻🎃👻🎃👻🎃👻🎃👻🎃 What was the werewolf's least favorite storage class? 🐺 🐺 static 👻🎃👻🎃👻🎃👻🎃👻🎃 #cplusplus
#12 Spooky Halloween C++ 👻🎃👻🎃👻🎃👻🎃👻🎃 What was the werewolf's least favorite storage class? 🐺 🐺 static 👻🎃👻🎃👻🎃👻🎃👻🎃 #cplusplus
Posted by 🧐 Shafik Yaghmour
Other similar profiles
Explore collaborative articles
We’re unlocking community knowledge in a new way. Experts add insights directly into each article, started with the help of AI.
Explore More