12th
Feb

Prismal Studio


6th
Feb

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...

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!


31st
Jan

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).


3rd
Dec

 

Anonymous asked: 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.

EDIT: I put a link to the singleton blog post inside the Asset Manager blog post.


You're halfway down, my friend.

15th
Sep

Pinglost - DOS command to log lost packets


30th
Jun

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...

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.


14th
May

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...

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.


11th
May

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.


22nd
Apr

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.


Page 1 of 10
 

Oh my god! You seem interested, aren't you?