PrismalStudio on Github
Some projects will be available on Github as of recently. Give it a look and give some feedback, it's appreciated.

No title available
taylor price
wallacepolsom
sheepfilms

blake kathryn

JVL
No title available
almost home

tannertan36
One Nice Bug Per Day

roma★
Today's Document
ojovivo

Origami Around

Kaledo Art
Stranger Things

@theartofmadeline
AnasAbdin

Discoholic 🪩

No title available
seen from United States

seen from Malaysia
seen from Sri Lanka
seen from Malaysia

seen from Malaysia
seen from Russia

seen from Singapore
seen from United Kingdom
seen from Germany
seen from Germany
seen from United States
seen from United States

seen from Singapore

seen from Netherlands

seen from Indonesia
seen from United States
seen from Malaysia
seen from India
seen from United States
seen from Israel
@prismalstudio
PrismalStudio on Github
Some projects will be available on Github as of recently. Give it a look and give some feedback, it's appreciated.
Converting HTML to Latex with PHP
Let the client format his data with the textarea editor
Long story short, I got a new job at the University. The goal is to take a paper directory and make it into a searchable directory tool online. People will need to add descriptions and lists in their entry so there will be a full text editor. It outputs HTML and it will be stored inside a database.
Everything's fine by now, but, I also need to take all the data from the database to generate a PDF version of the directory for download and obviously, printing. We're using LaTeX to format the data and generate the PDF. I needed a flexible and easy solution to remove the HTML tags and replace them with their LaTeX equivalent. I was happy to see how easy to use the DOMDocument class was.
The best part is that I was able to make it generic enough so that it's not limited to converting to LaTeX but it's possible to convert to almost any markup languages without changing the PHP code. You just need to map, inside a CSV file, the HTML tags to their equivalent opening and closing tags of the target markup language. I'm kind of proud of the result, which is why I'm sharing this today!
The video player
Real-time video filtering with a DirectShow filter
The goal here was to make a video player which uses a single process for the WPF graphical interface, another process for video playback and a third process which sole purpose was to take a snapshot of the currently displayed video frame. I know it's a lot of useless independent processes but that was the purpose of the project, testing inter-process communications and threading.
The video player goes like this: You choose a video file via the interface, then its path is sent via a windows message to the Playback windows (which is open automatically) and the file is then opened. You can then change the brightness/contrast of the video and there's also a convolution matrix which let you try all sorts of image processing effects.
Disclaimers
This was the last semester final project in Software Engineering 2. I am aware that image filtering using DirectShow is useless today since it's deprecated. I'm also aware that it wasn't necessary to use 3 processes to accomplish this. Finally, the color choices were not mine and were partly imposed by the teacher (the orange and red part).
Resource manager code on Gist
Resources or assets manager template in C++. Uses a Singleton pattern template as well, which I'm not fond of, but works really well in this particular case. Feel free to use it in your own personal or commercial code.
Hello sir, I read your How to manage all your game assets article and noticed the code for TSingleton.h is missing. Could you please include it? I know the post is almost two years old but please... I would be grateful. Thank you!
It won't be necessary since the code for the Singleton template is in the previous blog post.
How to manage all your game assets
Easy 2-Steps Singleton In C++
EDIT: I put a link to the singleton blog post inside the Asset Manager blog post.
Know exactly when you lose the connection with the host.
Tired of watching the ping command indefinitely, trying to catch packet losses? You want an easy DOS command to dump only the lost packets with a time-stamp into a log file?
Just drop the batch file into your windows directory
...then call "pinglost" as any other DOS command! It will drop a text file in the working directory with the packets that have been lost. It uses the same options as the ping command so you won't be lost.
Hope you'll enjoy and feel free to take a look a the source and use it or modify it as you wish.
Dev Log #5: SFML implementation continues
Word wrapping again
SFML provides nice classes for text rendering which doesn't impact performance as much as my old code with SDL/OpenGL/FTGL. The carriage return is processed automatically but because I need to handle my own word wrapping inside my own GUI elements, I can't really use it. I must split the strings in words vector and place them manually. I was having some trouble with spaces just to find that this is a known issue. I guess that this is the price to pay for a brand new lib.
GetRandomGame: The Black Triangle
We're changing from SDL to SFML
We've decided that it would help to have better tools in order to make a game and instead of reinventing the wheel, we changed the framework from SDL to SFML. This means that a lot of code goes to waste and get replaced by better code from the SFML framework. There were so many files and problem with the directory architecture that I decided to start from scratch and just keep the useful parts from the old code. I managed to get the "Main Menu" state up and running with the same code architecture as before, but using SFML instead and the interesting part of the picture above is the window title showing the number of frames per second, it is now like 10 times faster!
About the Black Triangle
The Black Triangle refer to an article on the Rampant Games blog dating from 2004. In short, most of the time, people aren't that impress by your work and they don't see all the work put behind what you're showing to them. That's the case for most of IT projects.
Zeptoide: a sextillionth of an IDE
Compiling and executing Mini C++
This is the latest project for the software engineering course. A working IDE that provides a project file and editing/compiling/executing Mini C++ code with our own libraries. It doesn't provides machine code but it can be interpreted. It provides the basic features of a standard IDE:
A toolbar and standard menus;
A solution explorer (which loads mcpp files inside the project dir);
Tabs for the home screen and the source file;
A custom console;
And a real-time variable debugging data grid.
How it works?
There are two main component that provides the compiling and execution. One that takes the next token on a line (see the image of the test program result) like a semi-colon, a parenthesis or an operator then the second component decides what to do with it considering the current context. Both components build a dll. See in detail how you can get C# to use C++ dll.
There's a third component which is only the WPF application using the previous two component. Each component is thoroughly tested with its own test program that output a text file with the result and errors if something went wrong.
Why that name? Zeptoide?
It literally means a sextillionth of an IDE (Zepto IDE).
I started the project with Minide (which stands for Mini IDE) in mind but I found out that it was already taken. I then thought of MicroIDE—taken—then NanoIDE—taken—and PicoIDE, FemtoIDE, AttoIDE wasn't right to the ear, so the next choice was ZeptoIDE (zepto is a prefix in the metric system denoting a factor of 10-21).
That's it for Zeptoide.
NetSnake: the java socket project
It can takes up to 10 clients without any lag or delay
See the first post.
The project is already over; finals are near. It plays really nice, it now provides the choice of the host and a chat box. The game is playable and by that I mean you now die whenever you hit something else than a yellow square (which is now outlined green) that represent the goal or an apple. I'll probably upload the game on a server in the next weeks or so.
NetSnake 0.1
A classic Snake game with Java sockets
I'm working on a Snake game in Java, adding a multiplayer feature to it with java sockets. It is already working well, but the gameplay is at its minimum. You don't die, there's a lot of "apples" (which are yellow for no good reason) and you can take a break while facing a wall. Hitting another player's snake does nothing except erasing a tile behind.
It's in fact two applications, a server application and a client graphic interface. All the client do is sends its inputs and draws the board which all the information is received from the server. It runs smoothly at least 4 or 5 clients on the same server and computer. With my gaming laptop, it started to lag with more than 10 clients on a server on the same computer.
And I'm the proud owner of a new laptop
I got a deal on a two years old Asus G73JW which is way better than my five years old HP HDX 16 except the fact that it has really noisy fans. The point is that I got to reinstall everything and got to try a new color scheme plugin in Eclipse (monokai) and I must say it's really enjoyable! My eyes were tired of the two bright screens, it's now way better for prolonged use over night.
Here's Minide
The minimalist IDE for Mini C++
Minide stands for "Mini IDE". This a follow up of the mini C++ lexical analyzer WPF interface I made as an assignment. Right now, it is just an interface but it will soon parse the tokens and it will be possible to "debug" the mini C++ source code.
EDIT: MinIDE already exist... I'm not really going to release my version, so I'm not going to change its name.
EDIT 2: I finally named it ZeptoIDE.
Just in case we would get to travel back in time
We got to learn the Oracle Codasyl DBMS on OpenVMS which initial release was 35 years ago (1977). And people complain about Win 8!
Software Engineering tip: divide and conquer
Using C++ functions and classes inside a WPF C# application
Useful tutorial to get started
That is a MiniCpp lexical analyzer form application that I've been working on this week. The core algorithm is in C++, compiled as a dynamic library. Since C# can't handle unmanaged c++ right away, I needed to wrap the dll inside a C++/CLI class lib project that would get me a managed C++ dll to be finally used with C#.
Long story short, make sure you place the dll in the right directory, and expect errors to be caused by a missing dll.
A little more on the app itself
The app features a fully functional standard File menu (with open and save file dialog, thanks to the .NET Framework) and a save changes warning message. Basically, you typed MiniCpp code or load a test file and click the button to analyze the file and get its tokens.
XAML makes it really easy to make the form and it's easier to understand what's going on. I like it!
Microsoft retro-compatibility, oh you!
Let me introduce my feelings on Visual Studio
Disclaimer: I only use C++ so most of the comments below are based upon that fact. Also, though I know that MSVS can compile using any compiler, I had to use the one provided with MSVS to comply with teachers needs.
TL;DR below
I have a love-hate relationship with Visual Studio, except without love. Every time I need to use it—because I never actually use it for fun—everything that might fail goes OK and everything that should have been OK fails for no good reason.
Let me explain that with just a few examples. All the examples below are real situations that happened to me and wasn't a problem while in another cross-platform IDE.
windows.h needs to be included before gl.h in order to use OpenGL;
math.h needs the _USE_MATH_DEFINES constant defined in order to use the math.h constants;
std::string comparison don't work with == and !=, the compare function must be used;
CTRL+A to select all the code and then CTRL+K+CTRL+F to format the code (with the cursor placed at the bottom of the file) can't be called a keyboard shortcut;
I got tricked once in the past with the virtual directories not really holding the files in the project directory and I shipped a program for an exam without the source code. You can argue that this one was kind of my fault.
That is just a few examples that I can remember. Another thing I don't like when using Visual Studio is that even if I'm working on a one file project, it will create a dozen useless files that weights about 150 MB. Again, I guess that this is an option that I don't know of and it probably can be turned off.
My latest misadventure with visual studio and its retro-compatibility
I should have wrote: "My latest misadventure with Microsoft and its nonexistent retro-compatibility" because my little misadventure is a misadventure totally because of that. Well, that makes a lot of "misadventure" in the same sentence. So let's begin.
Prologue
I formatted my laptop (on vista) one or two years ago and installed Visual Studio 2010 only to be able to hand out assignments to teachers. None of them use another IDE, they all use Visual Studio which is provided by the university. I normally use Eclipse CDT for C++ projects and convert them to Visual Studio project if needed.
Last Chapter - The Microsoft dictatorship
All was fine (well, except the situations listed above) until today when I tried to open the visual studio project examples provided by the teacher and find out that those are MSVS 2012 projects and are incompatible with MSVS 2010. I was resisting the change to MSVS 2012 for quite a moment for compatibility reasons but today I was forced to download it. After about 20 or 30 minutes (I have quite a good internet connection), I tried to open the installer only to find out that it was incompatible with my version of Windows. That's it, I'm done with you Microsoft!
TL;DR - Too long - Didn't read
I have Visual Studio 2010 and Microsoft is telling me to pay for Visual Studio 2012 only to make me pay for Windows 7 or 8.
That was still too long
Microsoft wants money no matter what!
Dungeon Twister in Java
The first real game made by myself
That was buried deep inside my laptop, it was made in 2009 in my first OOP course. Each student has to make a Dungeon Twister clone in Java as a learning tool over the semester. Anyway, take a look at the video, enjoy myself talking to you with my beautiful accent and leave a comment!
Why I'm not using Google+ against Facebook or other social Network
My personnal thought explain with an image
I never go on Google+ because of obvious design flaws. It has been like months since the last time I checked my G+ profile and today I received a notification so I checked it and came across the new profile page design. Needless to say I was disappointed. I first said to myself : "nice a new bigger banner!" but that was it. I then scrolled down to find that the banner follows you and takes up to 20% of the usable space remaining.
Some numbers
All those Google products (Chrome, Google search bar, G+ profile bar) are taking more than 2/5th of the screen. I'm feeling overwhelm by all the bars and uselessly big labels. I know that the useful area is dynamically adjustable for different screen resolution (it actually is better on smaller screen resolution) but my laptop screen is 1366 by 768 pixels which is not that small but not that big either.
Putting a Google search bar that big is like forcing you to install four third party tool bars and, like if it wasn't enough, they make the profile bar scrolls with you which is even bigger than the Google search bar.
Why would you use Google+ after all?
There's nothing revolutionary on Google+ that Facebook hasn't got yet, or is it? At the bare minimum, I'm expecting Google+ to be as good as Facebook and it's obviously not the case. Just look at the Facebook screen capture. At least 3 posts can be viewed at all time against one on Google+. Facebook is also offering 2 bars that scrolls with you but they only take up to 16% of the actual usable area on the same screen against 33% on Google+, for the same information which is not crucial to the user.
"So just don't use it!" - She
The weirdest part of this complaint is that I really want to use Google+ and I want people to use it as well but every time I gives it a go, I get repelled from the badly designed Facebook that it is. I like mostly all Google products - even if they sell my email to evil company, if that may help them show me ads that I might click, that's wonderful - and I'm complaining only because I'm expecting the best out of the Google team. They have the best people and if those people can't get it to work, they have the money to buy the already-working solution.
Am I wrong or is that a real Google+ flaw? All the features are useless if they're not fun/easy to use.