Re: Just found this debugger...

2018-10-20 Thread solidstate1991 via Digitalmars-d
On Wednesday, 3 October 2018 at 13:08:50 UTC, Vladimir Panteleev 
wrote:
On Wednesday, 3 October 2018 at 03:25:04 UTC, solidstate1991 
wrote:
and I don't want to go back to VisualD after VSCode for either 
a usable mago or VS native debug.


Visual Studio makes a decent stand-alone source-level debugger. 
Just select the .exe file, and right-click it in the 
project/solution pane to start a debugging session. (Of course, 
you need to build with -m32mscoff or -m64 as well as -g). 
VisualD isn't even needed, though VS by itself won't understand 
D types like arrays/strings.


I cannot find that option...


Re: My statements related to terminating my SAoC relationship

2018-10-17 Thread solidstate1991 via Digitalmars-d

On Tuesday, 16 October 2018 at 02:20:09 UTC, Soulsbane wrote:
Have you tried melatonin? My doctor has me take a 1mg tablet 
and split it in two. So I take 1/2 at bedtime. That is the 
sweet spot. If you take more than that you will end up groggy.


No, but I'll since I used to have this issue even as a child, 
this might help. I'll ask my doctor again, if she doesn't help 
I'll just buy the ones that can be used without prescriptions. I 
hope it's not some melatonin insensitivity, that would require 
some pretty harsh drugs.


My statements related to terminating my SAoC relationship

2018-10-15 Thread solidstate1991 via Digitalmars-d
I have done two mistakes: I underestimated the scope of the 
project and overestimated my capabilities. This caused a chain 
reaction, which in turn made the first milestone unreachable.


At the same time, my sleep disorder became even worse. I started 
to sleep 10-12 hours a day while spending around 4-6 hours in bed 
just to trying to fall asleep, and since I had to do some 
housekeeping work it cut the planned 8 hours per day work down to 
4-6 at most. I have taped off all the status indicator LEDs on my 
electronics, I asked my brother and father to refrain from loud 
TV watching at night, all for nothing. Caffeine intake don't 
worsen my ability of sleep. I do get tired, but somehow still 
don't feel myself sleepy. Tried to tell my doctors, but they just 
told me to do the stuff I've already done plus to refrain from 
using computers as much as possible and instead look for a job 
that don't require them. However, thanks to I had to use a "desk" 
with no leg room, my spine is all busted now, barely able to 
manage to lift 20kg without screaming in agony.


I try to resume my work on improving mago, but on a much smaller 
scale and lower priority since I have to spend time finding a 
job, which is a very hard thing in this fascist country called 
Hungary, while also not supporting said fascist regime. While the 
state propaganda says there's a big shortage on workforce (to the 
point that supposedly humanitarians are being reeducated for Java 
developers), I also see a lot of people being rejected with bogus 
claims which tells me that there's something fishy, and hearing 
some controversies of political opponents' families suddenly 
losing their jobs says me that they're persecuting their 
political opponents at any means possible.


Losing the funds put me in danger of homelessness, since I 
haven't been able to pay my father for rent and food for years, 
not to mention my PC is on its deathbed with its dried up CPU VRM 
capacitors, and USB and LAN ports fried after a thunderstorm and 
our previous ISP being skeptical with overvoltage protection (we 
got a direct hit into the antenna, which blew up his equipment, 
and fried by router, the LAN port, several USB ports, a cheap 
membrane keyboard, and a Logitech mouse I just have repaired).


I think I'll take a few days of doing other stuff, since my 
sleeping disorder sabotaged my free time too and now I have to 
find a job, (preferably internship) to calm down a bit.


Just found this debugger...

2018-10-02 Thread solidstate1991 via Digitalmars-d
I wanted to do some work on lzbacon (D port of lzham-codec with 
some extras such as tarball support), but without a debugger it's 
pretty hard (I suspect an error in the multithreading when 
looking up for a value, or some C++ language quirk I missed). The 
current state of mago-mi is nearly unusable with very limited 
command support, and I don't want to go back to VisualD after 
VSCode for either a usable mago or VS native debug. I couldn't 
find LLDB on my harddrive anymore, and GDB needs DWARF symbols.


Then I had a thought: Is there anything usable on the market 
besides these?


After I a quick Google search, I encountered with the "guy she 
told you to not to worry about":


https://x64dbg.com/#start

It seems it needs *.pdb files for symbols, which I'll test 
tomorrow, hopefully I don't have to cook something complicated 
for my family to waste my time. While I'm still encouraged to 
improve mago instead (I think alternatives are always a good 
option and the conversion will be finished by the weekend), maybe 
it'll be useful for some. Maybe I can use it for mago too.


Re: Quick C bindings

2018-10-02 Thread solidstate1991 via Digitalmars-d
I would also like something, but for the C11 runtime, as it's 
essential for mago (uses it for unicode strings, rewriting them 
for Phobos would take too much time, and I've already ran out of 
time).


Will the core.stdc module be updated for newer versions of C?

2018-09-07 Thread solidstate1991 via Digitalmars-d
While for the most part it still works very well, however when 
porting Mago I found a few functions that are not present in C99 
(most notably wcsncpy_s).


While I can write my own functions to do the same (already done 
this with C++'s array since a few classes inherited from 
std::vector, hopefully I don't need to fiddle too much with it on 
the Debug engine to limit reliance on GC) I think it would be a 
good idea to do some updates on the runtime library in this 
regard, especially as it's a very easily available @nogc library 
too.


Re: Looking for a mentor for SAoC

2018-08-31 Thread solidstate1991 via Digitalmars-d

On Monday, 27 August 2018 at 20:47:08 UTC, Stefam Koch wrote:


I guess I could help you out with coff.

generating it is not the problem but linking it on windows 
currently requires the MS linker.

which may not be desired.
then again ... I think binutils do support coff as well.


I might need you as a mentor. Currently I'm thinking out of the 
milestones, I probably can fully convert Mago to D by the end of 
September, in October I'll work on getting the COFF64 support at 
the same level as 32 bit ones, November and December will be 
spent with developing a GUI and bug fixes.


Re: D now has a dangerous competitor

2018-08-28 Thread solidstate1991 via Digitalmars-d

On Tuesday, 28 August 2018 at 11:30:20 UTC, JN wrote:

On Tuesday, 28 August 2018 at 08:39:20 UTC, bauss wrote:

The following language is a dangerous competitor to D.

https://github.com/joaomilho/Enterprise


I often feel like this kind of 'jokes' are trying too hard. 
FizzBuzz Enterprise was fun when it first came out, and I know 
it's popular to hate on OOP programming, especially Java. But 
the fact is, a very big portion of software was built using 
OOP, and many of the hated design patterns have a place in 
programming. Sure, it doesn't provide witty one-liner quicksort 
examples, but when you have a group of people, having to 
integrate multiple webservices/databases, these kind of layered 
code architecture comes in handy.


Of course sometimes people go too far, trying to make the code 
generic and fit every usecase, breaking YAGNI.


Most of the hate towards OOP is misdirected. Java will be always 
slow because it always running in a VM, no structures so you have 
to rely on reference-type classes for everything. Other times 
it's on the developer. Thanks to my education, I first wanted to 
approach every problems in programming from an object-oriented 
viewpoint, since that was the only one we were taught (and I 
missed the classes on interfaces due to an incident, so I 
struggled to keep up).


You have to learn where to use what. I personally hate C and C++ 
precompiler macros more, which made porting LZHAM to D a 
nightmare sometimes. Some parts of the macros got completely 
eliminated since Fiber saves most things on the stack.


Looking for a mentor for SAoC

2018-08-26 Thread solidstate1991 via Digitalmars-d

I've chosen to work on Mago, with the following goals:

-Porting it to D first and foremost to make code maintenance and 
expansion easier in the future.
-Add better support for Win32-COFF (there's a few more bugs 
compared to Win32-OMF in my experience) and Win64-COFF. As I read 
COFF32 needs some manual installation, which will be made easier 
by either a Powershell script, or even a custom installer, the 
latter might branch out on its own project.

-Fix some general bugs, like the non-working -break-insert -f.
-Add some simple GUI for Mago-mi instead of just the GDB 
compatible text interface.

-Make it to work better with LDC if possible.

If I'll have time after the main milestones, I might add other 
functions besides the bug fixes, such as a memory editor, ability 
to debug programs and codes written in C and other languages for 
interoperability.


Additionally you can help me to work on my college thesis. I 
still haven't chosen my subject matter, but it'll be either my 
graphics engine "PixelPerfectEngine", my compression library 
"lzbacon", or this if it's allowed. I need a mentor/consultant 
(the latter is what I got for the translation of the word 
"konzulens"), your main job is to help me out a bit.


Re: Weird bugs in DMD 2.81.0

2018-07-14 Thread solidstate1991 via Digitalmars-d
Well, it seems I fixed the AA issue by removing a totally 
unrelated thing (an undoable event chain system, that got 
"deprecated"), but now I got another weird issue.


Sometimes setting a dynamic array's length causes an access 
violation. Still only on WindowMaker, and nothing in 
PixelPerfectEditor.


Does somebody have a foolproof method for designing window 
layouts without an editor? I starting to give up on this piece of 
crap software, however before that it took me a whole day to 
figure out where the elements should fall, then another day to 
debug issues with the layout. My current solution at this point 
is to type in stuff instead of relying on generated code.


Re: Weird bugs in DMD 2.81.0

2018-07-14 Thread solidstate1991 via Digitalmars-d

On Saturday, 14 July 2018 at 07:01:59 UTC, Seb wrote:

Any chance you can make a minimal, reproducible example of this?
Would be great because then it can be put on bugzilla and other 
people can have a look at it too.


I might try, but first I'll look at the functions to see if I can 
fix some of it by myself, fixing pointer overflows. I suspect 
that the drawing functions overflow due to small typos, once I 
mixed up the x and y coordinates of something then it resulted in 
a corrupted image.


Re: Weird bugs in DMD 2.81.0

2018-07-13 Thread solidstate1991 via Digitalmars-d

On Saturday, 14 July 2018 at 00:58:08 UTC, solidstate1991 wrote:
I found a temporary workaround. Basically I just save the 
content of the AA, then reapply it after the application's 
constructor finished, before that it always generated an 
exception when I tried to check its content e.g. via printing 
it to the screen. The program still crashes when I close it, 
and it seems like it's something GC related, which will be 
extremely hard to reproduce. I'm going to make a commit soon to 
Github (maybe even an alpha release), so people can check it 
out for themselves.


The AA issue still happens when I disable the GC.

What happens if I accidentally write into the memory space of an 
AA? Might be a pointer-overflow related issue I messed up, which 
will be a hell of a ride to find.


Re: Weird bugs in DMD 2.81.0

2018-07-13 Thread solidstate1991 via Digitalmars-d

On Saturday, 7 July 2018 at 02:21:31 UTC, solidstate1991 wrote:

I'll upload code tomorrow, but here's the premise:

Sometimes elements disappear from associative arrays, causing 
all sorts of errors down the line, mostly access violations.


My engine (PixelPerfectEngine) has a style sheet for its GUI, 
which generates basic values upon construction. This works 
mostly fine with PixelPerfectEditor, however WindowMaker 
crashes instantly when it needs to redraw anything. Both Mago 
and VS debugger were bit broken (first exception came from 
KernelBase.dll, then it only showed the caller of a getter 
function possibly caused the issue), but I managed to get 
enough information. The AA containing color indexes 
(ushort[string]) couldn't be accessed properly and when I tried 
the safe get method on it, a lot of values couldn't be accessed 
and later on a dynamic array had issues with access violation.


I'm thinking on going back to 2.080.0 until this bug gets fixed.


I found a temporary workaround. Basically I just save the content 
of the AA, then reapply it after the application's constructor 
finished, before that it always generated an exception when I 
tried to check its content e.g. via printing it to the screen. 
The program still crashes when I close it, and it seems like it's 
something GC related, which will be extremely hard to reproduce. 
I'm going to make a commit soon to Github (maybe even an alpha 
release), so people can check it out for themselves.


Re: Weird bugs in DMD 2.81.0

2018-07-07 Thread solidstate1991 via Digitalmars-d

On Saturday, 7 July 2018 at 07:31:29 UTC, Seb wrote:


I'm sorry but without code there's not much we can do for you.
However, one thing we can try is to get your project on the 
project tester once this regression is fixed.


https://github.com/ZILtoid1991/pixelperfectengine

Just did a commit recently. PixelPerfectEditor runs as it should 
(unfinished, but most drawing algorithms work), under 
WindowMaker, some stuff just disappear from AA.


Patching "PixelPerfectEngine.concrete.stylesheet"'s 
StyleSheet.getColor to the following reveals that some elements 
may have disappeared from the AA:


public ushort getColor(string colorName){
return color.get(colorName,0);
}

Also tested with an LDC, which is based on 2.80.1, and the same 
anomaly still happens.


Re: How about implementing SPMD on SIMD for D?

2018-07-07 Thread solidstate1991 via Digitalmars-d

On Saturday, 7 July 2018 at 13:20:53 UTC, Guillaume Piolat wrote:


Oh yes, so much this. It would be very nice to have D_SIMD on 
DMD 32-bit.


Does D_SIMD work on LDC?


Weird bugs in DMD 2.81.0

2018-07-06 Thread solidstate1991 via Digitalmars-d

I'll upload code tomorrow, but here's the premise:

Sometimes elements disappear from associative arrays, causing all 
sorts of errors down the line, mostly access violations.


My engine (PixelPerfectEngine) has a style sheet for its GUI, 
which generates basic values upon construction. This works mostly 
fine with PixelPerfectEditor, however WindowMaker crashes 
instantly when it needs to redraw anything. Both Mago and VS 
debugger were bit broken (first exception came from 
KernelBase.dll, then it only showed the caller of a getter 
function possibly caused the issue), but I managed to get enough 
information. The AA containing color indexes (ushort[string]) 
couldn't be accessed properly and when I tried the safe get 
method on it, a lot of values couldn't be accessed and later on a 
dynamic array had issues with access violation.


I'm thinking on going back to 2.080.0 until this bug gets fixed.


Re: How about implementing SPMD on SIMD for D?

2018-07-06 Thread solidstate1991 via Digitalmars-d

I think fixing the SIMD support would be also great.

1) Make it compatible with Intel intrinsics.

2) Update it to work with AVX-512.

3) Add some preliminary support for ARM Neon.

4) Optional: Make SIMD to compile for all 32 bit targets, so I 
don't have to write long-ass assembly code for stuff. Once I even 
broke LDC with my code (see CPUblit).


Re: Replacing C's memcpy with a D implementation

2018-06-10 Thread solidstate1991 via Digitalmars-d

On Sunday, 10 June 2018 at 12:49:31 UTC, Mike Franklin wrote:

void memcpyASM()
{
auto s = src.ptr;
auto d = dst.ptr;
size_t len = length;
asm pure nothrow @nogc
{
mov RSI, s;
mov RDI, d;
cld;
mov RCX, len;
rep;
movsb;
}
}

Protip: Use SSE or AVX for an even faster copying.


Looking for remote software development jobs using D

2018-06-06 Thread solidstate1991 via Digitalmars-d
I have trouble getting any jobs in my homeland, since no local 
company hire any software developer (the closest would be some 
Linux sysadmin, if those jobs are still open), in my country most 
IT companies are web development only, and I'm not experienced 
enough with them (didn't want to learn at least 4 different badly 
designed languages for less money). I couldn't apply to other 
jobs since a catch 22 regarding my college status and local 
companies weren't interested in part-timers (the only way I could 
get a full-time job is if my college status is part-time, and I 
only can get a part-time college status if I get a full-time job 
first, the easiest way to bypass it is dropping out from college, 
get a job, then reapply to college and pray that you won't have 
to retake all classes). Unfortunately my family is getting into 
deeper and deeper financial troubles, I'm currently on the verge 
of dropping out (thanks to not being able to find an internship, 
and a consultant for my college thesis), and a minimum-wage job 
doesn't cover anything.


About me:

I'm working with D for 3 years, and I came from a Java 
background. I chose it as an alternative to C++, C#, and Java for 
a small project called VDP-engine (now called PixelPerfectEngine, 
available in dub). For a while I concentrated on Java and C# 
instead, however I came back for my engine and continued 
development on it. I also can code in C, C++, C#, PHP, however 
I'm not too experienced with the last one, my knowledge on HTML 
is only web 1.0 level at best, and I don't know any Javascript 
(besides of some pretty basic stuff coming from other languages). 
I'm specialized on software optimization, and have done some 
basic DSP and image processing stuff (see CPUblit in dub for the 
latter).


I'm currently living in Hungary, but I'm planning to leave the 
country ASAP due to both economical and political reasons, the 
latter might be a possible reason why I couldn't get any kind of 
internship or job, however I don't have any evidence for that. I 
only speak English besides of Hungarian, but I'm planning on 
learning other languages thanks to Brexit.


If I have to say how much money I would work for, then let it be 
$10/hour. However in my current situation, even less would be 
more than good. (I need money to replace aging and failing 
hardware, money to move out, etc)


Re: Is there some fast and @nogc capable binary search tree for D?

2018-04-29 Thread solidstate1991 via Digitalmars-d

On Monday, 30 April 2018 at 02:43:44 UTC, 12345swordy wrote:


If the data involved classes then the answer is no, as there is 
a bug regarding destroy as it involved external finalized c 
function. I'm writing a DIP draft that address this.


I think I can get around that by storing the data in dynamic 
arrays for the while I need them, then use the tree for quicker 
random access.


Is there some fast and @nogc capable binary search tree for D?

2018-04-29 Thread solidstate1991 via Digitalmars-d
Some components of my game engine would benefit from lookup 
trees. I tried to port one from Go, but either I messed up 
something bit that certain parts of the codes just won't execute 
for some reason, or the algorithm was poorly documented, and it 
will only optimize on one end of the binary search tree.


Looked around on dub, couldn't find anything that wouldn't 
introduce too much new dependencies or that was actually @nogc 
capable. I would be interested in some preexisting one, or some 
better documented ones from the web. All I can find is either 
very basic theory or things that already work well in my 
implementation, like indexing and insertion without optimization.


Looking for internship and consulant for college thesis

2018-03-20 Thread solidstate1991 via Digitalmars-d
I have problems finding a internship in my own country mostly due 
to lack of "experience" (time spent with working at any kind of 
workplace, even if it's working at a fast food restaurant), and 
without it I cannot get my college degree. My local area has no 
real IT jobs, or they look to employ a person full time who's 
more experienced with networking or Linux.


I have multiple projects in D, PixelPerfectEngine (a 2D game 
engine made specifically to mimic retro aesthetics; link: 
https://github.com/ZILtoid1991/pixelperfectengine ), libPCM 
(ADPCM, Mu-Law, and A-Law algorithms; link: 
https://github.com/ZILtoid1991/libPCM ). There's two yet 
unpublished projects: CPUblit (image composing and drawing 
algorithms, currently awaits for testing of assembly lines) and 
libLZHAM (compression algorithm with LZMA-like ratios and near 
ZLib decompression speeds, full backwards compatibility with 
ZLib, soon I'll talk with the writer of the original algorithm if 
I can license my port under the Boost license).


For my college thesis I planned to use my own game engine, but if 
somebody has some better idea for a project, then I can 
compromise with that.


Classinfo and @nogc conflict

2018-03-05 Thread solidstate1991 via Digitalmars-d
I'm trying to speed up my graphic engine, however the presence of 
the GC in function Layer.updateRaster (see here: 
https://github.com/ZILtoid1991/pixelperfectengine/blob/master/pixelperfectengine/src/PixelPerfectEngine/graphics/layers.d ) means I get an occasional bump in CPU usage if not a framedrop (most performance related thing got fixed since then).


I use classinfo for detecting the type of bitmaps, and while I 
probably will have a workaround for the associative array stuff, 
the classinfo thing is embedded into the runtime library, thus it 
needs to be fixed. I took a look at opEquals, but the trickier 
part would be making the toString function @nogc (make its return 
value a ref type?).


How hard would it be to get DMD to generate SIMD code for all x86 targets?

2018-02-07 Thread solidstate1991 via Digitalmars-d
It would be also great if 32 bit and 64 bit long vector loading 
could be supported, so I don't have to write separate functions 
for that. Had to delete a lot of code I wrote in Assembly after I 
made a big mistake thanks to its much poorer readability compared 
to much more modern languages.


If it's not a hard task, I might do it by myself.


Better vector support

2018-02-05 Thread solidstate1991 via Digitalmars-d
I'm using vector operations in my graphics engine for rendering, 
since low-level raster operations in GPU are well hidden under 
layers of API, although I'm planning on porting the blitter 
algorithms for DCompute once it becomes more mature, as well as 
creating the CPUblit library for general use (will contain 
blitter and alpha-blending functions as well as basic drawing 
ones).


However, since I have to write most of the functions with 
Assembly, I have to write every function multiple times in a 
hard-to-read format. After spending some time with using vectors, 
I came up with some suggestions:
-32 bit and 64 bit long vectors have to be supported at the level 
of loading from the memory. The former is very useful in computer 
graphics.
-There's a lot of low-level operations in SSEn that are either 
also present in e.g. NEON, or can be emulated through a simple 
function, like unpacking (often used for integer promotion by me).


Re: Dll support: testers needed

2018-01-07 Thread solidstate1991 via Digitalmars-d

On Saturday, 6 January 2018 at 19:32:51 UTC, Benjamin Thaut wrote:
I'm currently back on dll support and I'm applying finishing 
touches to my dll support PR. Now I want to know if I missed 
any corner cases and it would be great if a few more people 
gave the dll support a try.


-To try it out you will need to build dmd, druntime and phobos 
yourself. I'm not going to provide a binary distribution.
-You will need to target the microsoft linker. E.g. either use 
-m64 or -m32mscoff when compiling your programs.
-be warned, the state of the dll support is not final and 
subject to change. There is no garantuee that there won't be 
any breaking changes to dll support.


You can find a quick start guide here: 
http://stuff.benjamin-thaut.de/D/getting_started.html
If you need more information and examples take a look here: 
https://github.com/Ingrater/DIPs/blob/ReviveDIP45/DIPs/DIP45.md


Not all of phobos/druntime has correct export annotations yet 
as this is not the goal of my initial pull request. If you use 
a function from druntime/phobos that does not have a correct 
export annotation you will get a linker error. I'm not 
interrested in those. I'm interrested in cases where export is 
correctly used and you will still get linker errors / incorrect 
program behavior. So if you encounter a linker error first 
check if the declaration has a export annotation or not. Try 
adding it and see if the error goes away. If it does not go 
away, report it here or send me an e-mail to code at 
benjamin-thaut.de


If you find anything, small repro cases would be appreciated as 
it makes my life a lot easier.


I would volunteer, but I don't know how much I can do in my exam 
session. Maybe in February, until then not much.


Odd behavior found in GC when terminating application

2018-01-05 Thread solidstate1991 via Digitalmars-d
I usually write my applications' main logic into one or more 
classes unless it can be avoided, and thus I often use ctors and 
dtors for initializing and cleaning up things. One of them (my 
engine) uses dtors for cleaning up things from a non-GC external 
library (SDL2, using the Derelict loader).


If I close one of the apps I've written with them, it generates 
an access violation error within the SDL2 library. This doesn't 
happen with others, probably depending on what kind of resources 
I use. However, I just found a fix to the issue: if I manually 
call the dtor of the main logic after it exited from the main 
loop and remove the call for SDL2_QUIT(), there's no issues with 
SDL2, even the time it takes to quit it back to normal instead of 
the almost instant crash upon trying to close the application.


Re: [OT] D merch

2017-11-19 Thread solidstate1991 via Digitalmars-d

On Sunday, 19 November 2017 at 15:32:10 UTC, WebFreak001 wrote:
Hi, Adam just sent me this link on IRC where you can buy some D 
(or rather digital mars) merch which I didn't know about yet, 
maybe it is also interesting for you: 
http://digitalmars.com/gift/index.html


If you buy anything there use the gift code EARLYBIRD25, it 
gives 25% off and it just randomly showed for me on the product 
page. Got that mug including shipping for 16€ with it (also 
because of a sale), estimated arrival to Germany if you buy now 
is Dec 5, 2017 - Dec 7, 2017 according to the mail I got.


imo there should be more D merch (and D-Man merch), especially 
now that christmas is coming up soon. I just bought the 'Some 
Assembly Required' coffee mug but I think it would be cool if 
there would be more mug designs and more shirt designs. I would 
really like and buy a D-Man shirt like this: 
https://wfr.moe/fBwfJt


The D-Man svg can be found here: 
https://web.archive.org/web/20050213192555/http://w148.de:80/~mmartin/d/dlogo.svg


What are your ideas for more D merch? I think some more shirt 
designs with D-man would be really cool. I also saw some D-man 
drawing on twitter once which made quite a nice wall clock 
background.


Let's gift lots of D merch this christmas :p

PS: can Walter maybe add designs to that page then so it stays 
updated? If anyone knows a better site for custom merch that 
would be good too, or if anyone knows any companies producing 
such products cheap so we could make a custom shop.


I was thinking on making a single-chapter manga on programming, 
featuring a redesigned version of my attempt at a D mascot (see 
here: 
https://ziltoid1991.deviantart.com/art/DLang-chan-624180895), and 
it would be a parody of Initial D. I won't do any longer series 
on programming even if I see a lot of potential in it, mostly due 
to labor cost (and having a lot of other ideas too), although it 
would change if somebody would do the art for me, so I can work 
on my main projects, also with a different premise.


Other than that, I think simple pins and T-shirts would be great 
ideas, I could easily make a few designs using publicly available 
stuff like logo vectors, a lot of Facebook T-shirt sellers do the 
same, but often with copyright infringement.


Re: Note from a donor

2017-11-16 Thread solidstate1991 via Digitalmars-d
On Wednesday, 15 November 2017 at 04:34:09 UTC, Walter Bright 
wrote:

On 11/14/2017 7:15 PM, solidstate1991 wrote:

Walter Bright: What's the licensing state of DMC and OPTLINK?


Boost


Can it made open-source?


Yes.

If yes, we should patch in a COFF32/64 support, maybe even 
port it to D for easier development. I can spend some of my 
time working on the DLL support if needed.


You're welcome to do it, it's something I've been meaning to do 
anyway. Optlink will never support MsCoff, you'll realize that 
when you look at the source :-(


It's filled with Assembly code, and otherwise not very readable. 
Would need a lot of work, I don't think it would worth it. Let's 
hope that MS will allow us to distribute a linker alongside DMD.


Re: [OT] mobile rising

2017-11-16 Thread solidstate1991 via Digitalmars-d

On Wednesday, 15 November 2017 at 11:46:48 UTC, Joakim wrote:
I just saw this post about the upcoming Lenovo/AT&T Moto Tab 
and thought of you:


https://www.phonearena.com/news/Lenovo-Moto-Tab-ATT-features_id99782

For $300, you can buy a tablet that lets you do everything you 
normally do on a tablet, plus watch TV on the go.  If you want 
to use it for work, you buy the bluetooth accessories shown in 
that embedded promo youtube video and you can do that too.  
Want a screen in your kitchen, to control that optional 
speaker, watch recipe videos while you cook, and do video 
calls?  That's a fairly new use case you can try out too.


So for $300 or a bit more, depending on what accessories you 
get, you replace your laptop and TV, and have completely new 
things you can do.  While this effort is fairly ambitious- 
having watched movies on my tablet with family members, similar 
to how the family in the video does, I can attest that your 
arms get tired holding the tablet out front like they do- seems 
to me that mobile convergence is only increasing.


As for your mom and cousin going back to PCs, let me tell you 
about my own mom.  Five years ago, we were both using Windows 
laptops: her chunky laptop for her business, my Win7 ultrabook 
for coding and recreation.  Today, we both use Android tablets 
for these same uses- we're both on our second Android tablet 
now- plus she'll actually use her tablet at home now because a 
10" tablet is nowhere as bulky as a Windows laptop.


She never typed much in her business use, mostly reading emails 
and other viewing, so the laptop keyboard was always 
superfluous, but she had to have one because almost nobody was 
selling tablets a decade ago when she got it.  Whereas, I 
paired a bluetooth keyboard with my tablet and get by just fine 
with that.


The sales data I've linked shows that there are a lot more 
people like us than those you point out, and my point is that 
the mobile market is encroaching even on to people like your 
family, with products like that Moto Tab.


btw, if you want to get back on-topic, simply change the topic 
of your post up top and write a post about the original topic, 
rather than posting in an OT thread about what we're talking 
about.


I'm thinking on picking up some Android tablet for development 
purposes, would be good to port my game engine for mobile 
devices, probably have to resort for OpenGL for graphics 
acceleration instead of using CPU blitter, although that might 
work under NEON (currently I'm using SSE2).


Re: Zig mentions D in justifying its existence

2017-11-16 Thread solidstate1991 via Digitalmars-d

On Tuesday, 14 November 2017 at 01:01:16 UTC, codephantom wrote:
As someone new to D, I think this point stood out the most(for 
me):


"C++, Rust, and D have a large number of features and it can be 
distracting from the actual meaning of the application you are 
working on. One finds themselves debugging their knowledge of 
the programming language instead of debugging the application 
itself."


The best thing about language features, that you don't have to 
use them. I just very recently started using certain language 
features (eg. templates, conditional compilation), and for a long 
time I used it like Java without forcing classes into everything. 
Often I just don't find a use for them, so I won't make the 
compiler to do CTFE if it's not needed.


Re: DConf 2018 Logo

2017-11-16 Thread solidstate1991 via Digitalmars-d
On Wednesday, 15 November 2017 at 14:56:53 UTC, Andrei 
Alexandrescu wrote:
Hello, for all of you with expertise in graphics, we'd be in 
your debt if you could create a logo for DConf 2018. Proposals 
would be appreciated!


Thanks,

Andrei


I think I'll do something in Illustrator, probably our mascot 
riding a rocket.


Re: [OT] mobile rising

2017-11-14 Thread solidstate1991 via Digitalmars-d
After all this flaming about Windows, mobile devices (I 
personally prefer my desktop PC thanks to its "power", or at 
least what it used to left, thanks to long unemployment time and 
lack of income, have a Nokia Lumia which I cannot upgrade to W10 
due to BS reasons, and I think open-source architectures will 
kill off the proprietary ARM and x86 in the long run, not the 
mobile platform the desktops/laptops(funny story is that my 
mother tried to ditch desktop multiple times for the mobile, then 
got back, same happened with one of my cousin after he realized 
that pay-to-win games suck)), can we get back on rails? While its 
true that Windows and desktop is losing its place, we need to 
support Windows on a much higher level as long as there's a large 
number of PCs out there. Game development would highly benefit 
from D thanks to its all-in-one approach, probably could cut a 
few millions off from AAA game development. Also audio-engineers 
are switching to Windows, thanks to Apple scrapping the IO on 
their products (I'm also a digital artist, have to stay with 
Windows due to drivers, software, and ease of use).


Walter Bright: What's the licensing state of DMC and OPTLINK? Can 
it made open-source? If yes, we should patch in a COFF32/64 
support, maybe even port it to D for easier development. I can 
spend some of my time working on the DLL support if needed.


Proposal: Support for objects in switch statements

2017-10-31 Thread solidstate1991 via Digitalmars-d
After I started to alter my graphics engine to use the multiple 
kinds of bitmaps (now using multiple language features, like 
templates and aliases) on one layer, I noticed that type 
detection of bitmap objects would be easier and better readable, 
if instead of:


if(bitmapObject.classinfo == typeof(Bitmap4Bit)){
...
}else if(bitmapObject.classinfo == typeof(Bitmap8Bit)){...

I could easily use this:

switch(bitmapObject.classinfo){
case typeof(Bitmap4Bit):
...
case typeof(Bitmap8Bit):
}

On the other hand I cannot really think other uses for such 
language feature, maybe with structs.


Re: Note from a donor

2017-10-24 Thread solidstate1991 via Digitalmars-d
On Tuesday, 24 October 2017 at 13:37:09 UTC, rikki cattermole 
wrote:

On 24/10/2017 2:25 PM, Mike Parker wrote:
On Tuesday, 24 October 2017 at 13:20:10 UTC, Andrei 
Alexandrescu wrote:



* better dll support for Windows.


This one is on a lot of wish lists.


It definitely needs to be a target for 2018H1, I'll be making 
sure its added! Too big a blocker and comes up a little too 
often...


DIP45 has the solution (make export an attribute), it needs to be 
updated for the new DIP format from what I heard. It needs to be 
pushed, as Windows still the most popular OS on the consumer side 
of things, then we can have Phobos and DRuntime as DLLs without 
using experimental versions of DMD. I have some plans with the 
better DLL support, such as the possibility of a D based Python 
(for better class interoperability with D), or even using a 
modified set of D for scripting (eg. SafeD only).


Re: DIP88 Named Parameters, Status?

2017-10-15 Thread solidstate1991 via Digitalmars-d
On Saturday, 14 October 2017 at 14:49:27 UTC, Andrei Alexandrescu 
wrote:
Yes, we're up for that. We need a strong folow-up here (in the 
form of a formal proposal) from Benjamin and others interested. 
-- Andrei


I myself might try to resurrect the issue (probably in the 
forum), as a better DLL support under Windows would help D to 
move forward. Windows is the most used platform, and a better DLL 
support would open the door for a lot of opportunities (easier 
use of D for low-level scripting, interfacing with other 
software, etc.). D has the power to replace C++, but only if it 
takes the right directions.


DMD 2.076.0 fails to build a project with dlangui as dependency

2017-09-30 Thread solidstate1991 via Digitalmars-d
When I try to build a Hello World app for dlangui under VS2017, I 
get this error:


-- Build started: Project: dlangidefirstrun, Configuration: 
Debug Win32 --

Building Win32\Debug\dlanguifirstrun.exe...

object.Error@(0): Access Violation

0x005BEDEE
0x005D7FD6
0x005A38D0
0x005B3676
0x0053479E
0x005ACE2F
0x005AF442
0x00579BA6
0x005A77F4
0x004EFDDB
0x004ECE29
0x7755F756 in RtlReAllocateHeap
0x7755F673 in RtlReAllocateHeap
0x005D7141
Building Win32\Debug\dlanguifirstrun.exe failed!

I can build the app with dub with no problem, however I couldn't 
find a way to force noGL, and the PC I currently have to use have 
poor graphics acceleration support, so the application crashes 
immediately, and I have no way to trace back the source of the 
issue without mago. I use VS2017 as I couldn't find VS2015 
anymore.


Re: DIP88 Named Parameters, Status?

2017-09-30 Thread solidstate1991 via Digitalmars-d
On Saturday, 30 September 2017 at 16:22:37 UTC, Jonathan M Davis 
wrote:


Effectively, all DIPs from that wiki that have not already been 
accepted are dead, regardless of whether they stand any chance 
of acceptance. For any DIP to be accepted, it will have to go 
through the new DIP process, which essentially means creating a 
new DIP.


As for named parameters specifically, I'd be very surprised to 
see them added to the language. From what I recall, Walter 
wasn't particularly fond of the idea, and since it _is_ 
possible to implement them with a library solution, it's 
exactly the sort of thing that Andrei is likely to veto. At 
this point, in general, if something can be done in the 
language as it stands, it's not likely for it to be accepted as 
a DIP. Now, that's dealt with on a case by case basis, so I 
can't say for certain that a DIP for named parameters would be 
rejected, but I would expect it to be.


- Jonathan M Davis


What about DIP45, or making export an attribute? That would help 
the language to go mainstream.


Re: A potential danger to dub

2017-09-19 Thread solidstate1991 via Digitalmars-d
On Saturday, 16 September 2017 at 17:09:34 UTC, David Gileadi 
wrote:
Let me preface this by saying I love package managers and think 
dub is one of the best things with dlang. However they can also 
sometimes be dangerous, as this PyPI incident[1] shows: several 
Python packages were uploaded that contained names similar to 
the standard library, and had an extra semi-malicious payload. 
They are apparently now part of live software.


You could of course expect developers to do due diligence with 
the things they download, but of course they don't. It's 
probably worth paying attention to what the PyPI devs do to 
help mitigate this, and perhaps repeat some of those things 
with dub.


[1] 
https://arstechnica.com/information-technology/2017/09/devs-unknowingly-use-malicious-modules-put-into-official-python-repository/


We have the strength of being a mostly unknown language, but it 
still sounds scary.


I usually download all the stuff, and only use dub to compile the 
libraries, then mostly rely on the IDE's build system, and wrote 
a PowerShell script to recompile the libraries I use in case if I 
update the compiler.


Re: Audio to text files

2017-09-06 Thread solidstate1991 via Digitalmars-d

On Wednesday, 6 September 2017 at 15:54:41 UTC, Justin Gray wrote:
Is there a resource that explains how to create a file that 
stores a response to a question. say I want to introduce a 
program like this "Hi, my name is "", what's yours"? I want to 
generate an audio profile that's interactive and store data for 
access like a personal assistant. Any suggestions are 
appreciated, please and thanks.


Well, it's a pretty hard task. You should probably first start by 
writing a neural-network development kit for D, which would be 
helpful to other people too.


Earlier technologies used other methods, they were also less 
reliable. It wouldn't be hard to implement them in D.


Re: Toward Go 2 (or D needs to collect experience reports)

2017-09-06 Thread solidstate1991 via Digitalmars-d

On Wednesday, 6 September 2017 at 14:42:20 UTC, dimaria wrote:

The highlights:

Our goal for Go 2 is to fix the most significant ways Go fails 
to scale.


Go 2 must bring along all those developers. We must ask them 
to unlearn old habits and learn new ones only when the reward 
is great.


Go 2 must also bring along all the existing Go 1 source code. 
We must not split the Go ecosystem. Mixed programs, in which 
packages written in Go 2 import packages written in Go 1 and 
vice versa, must work effortlessly during a transition period 
of multiple years. We'll have to figure out exactly how to do 
that; automated tooling like go fix will certainly play a part.


Today, what we need most is experience reports. Please tell us 
how Go is working for you, and more importantly not working 
for you. Write a blog post, include real examples, concrete 
detail, and real experience. And link it on our wiki page. 
That's how we'll start talking about what we, the Go 
community, might want to change about Go.


I believe that if we ever want to see D3, we should start a 
similar process and collect real world feedback about things 
that are annoying on a daily basis.
There have been many threads about "I want to have feature X" 
in D and of course legendary threads like the one about 
removing auto-decoding, but the aim of this discussion is to 
identify things that bother you frequently or prevent you from 
using D on a wider scale.
Please see Russ's post for good examples. Blog posts or reports 
on the wiki are very welcome.


I don't think a D2/D3 split is needed, just impose the fixes on 
the language step by step, which is easy in our current position. 
Only thing needed is some patching of already existing code. D3 
should only happen, when changes done to D2 will be harder to 
implement in the long-run, eg. widespread use of language 
functions (please, put DIP45 into effect, when it still won't 
break too much code!).


Re: [your code here]143244

2017-09-06 Thread solidstate1991 via Digitalmars-d

On Wednesday, 6 September 2017 at 11:43:55 UTC, Aljeb wrote:

Hi bro can you teach me now bro about hacking


To enable hacking, you must delete system32 in Windows. Then get 
a chat application from the late nineties.


Working without GC

2017-08-31 Thread solidstate1991 via Digitalmars-d
Here's my ADPCM/etc. codec library: 
https://github.com/ZILtoid1991/libPCM


I have an intent to keep a mostly GC version (where the codecs 
are still noGC for minimal CPU overhead, so the best of both 
worlds), I'm planning an embedded version without the file 
operations, and one that has the file operations but don't depend 
on the GC. I had some attempt at this, but gave up due to the 
complexity of working with multiple pointers (and with pointers 
to pointers).


Some suggestions on it? Also feel free to either suggest new 
codecs (G726 will be my next target).


Re: Future of export

2017-08-23 Thread solidstate1991 via Digitalmars-d
On Wednesday, 23 August 2017 at 03:19:55 UTC, Nicholas Wilson 
wrote:

I have as part of DIP 1012

```
enum SymbolExport
{
neither,
dynamicImport,
dynamicExport
}

alias dynamicImport = SymbolExport .dynamicImport;
alias dynamicExport = SymbolExport .dynamicExport;
```

to replace the `export` storage visibility, So that one can do

```
version(MyLib_Build)
enum MyLibExport = dynamicExport;
else
enum MyLibExport = dynamicImport;

// Exported when building the shared object,
//imported when linking against the shared object.
@MyLibExport void foo(int x) { ... }
```

However Martin said in 
https://github.com/dlang/DIPs/pull/89/files#diff-26bf588c0174e6cd0fe3d4af615bebdaR120 that "That's not what is planned for export"


Last I heard (from Benjamins Thaut's DConf 2016 talk) was that 
nobody was using export because there was no corresponding 
import and no way to switch between them. Benjamin suggested 
that making it an attribute would fix that, hence it is part of 
DIP 1012.


What is planned for export?


There's already a DIP on the subject 
(https://github.com/dlang/DIPs/blob/master/DIPs/archive/DIP45.md), but it's pretty much abandoned. I however would like to see it becoming a subject of discussion. DIP45 should be done as soon as possible, so the D will be able to have a much better DLL support, which in turn will help both our development, both the adoption of the language.


Re: How do you use D?

2017-08-06 Thread solidstate1991 via Digitalmars-d

On Friday, 28 July 2017 at 14:58:01 UTC, Ali wrote:
While the Orgs using D page is very nice ... I hoping to hear 
more personal stories ...


So

How do you use D?


For personal projects, using a mixed form of OOP and procedural 
programming (I won't make static classes if I'm not forced to, 
like in Java and C#).



In work, (key projects or smaller side projects)


I almost got a job at Sociomantic, that's all. If I were asked to 
develop someone a PHP based website, I'd probably would use 
vibe.D instead, while keep telling them that how much I had to 
work with PHP.



in your side project, (github, links please)


Projects that have been publicized:
-PixelPerfectEngine: 
https://github.com/ZILtoid1991/pixelperfectengine A 2D engine 
mainly for retro games, once I get a way for efficient 2D 
acceleration it probably could easily handle native HD 
resolutions.
-OpenRG: https://github.com/ZILtoid1991/OpenRG A response to the 
abandonment of easily usable raster graphics acceleration, will 
be written in DCompute for easy portability. I currently need 
more people on planning stuff, mainly for embedded systems.


Currently nonpublic projects:
-libPCM: A Library for converting and playing back various PCM 
and ADPCM formats. Currently having issues with finding usable 
ADPCM codec guides.
-libLZHAM: Compression algorithm using an obscure algorithm found 
on github with my own enhancements, like an archive file format. 
It has speeds comparable to ZLIB, but almost the same compression 
rate as LZMA (sometimes it even surpasses it). DCompute version 
is planned.


just to learn something new? (I would easily argue that 
learning D will make you a better C++ programmer, maybe not the 
most efficient way, but I a sure it i very effective)


I pretty much learned C (and C#) through D.

Did you introduce D to your work place? How? What challenges 
did you face?


I introduced it in my college, I even made an OOP project using D 
as I no longer liked Java. My teacher could instantly read it, 
since he was pretty good with C++, Java, C#, and many others.



What is you D setup at work, which compiler, which IDE?


VS2015, DMD for x86 (thinking on working on an ARM codegen), LDC 
for everything else (engine will have several optimizations for 
single board computers like rPi, and maybe even mobile phones).


Re: Please document packages/libraries before putting them on dub registry

2017-08-05 Thread solidstate1991 via Digitalmars-d

On Saturday, 5 August 2017 at 00:08:29 UTC, aberba wrote:
Those packages without documentation might be useful but no one 
except you will use it because only you know how and what it 
does. We spend hours writing code but can't spend minutes 
getting people to use them.


Intro
Purpose
Usage
...
To do
Contributions

Basic stuff.


I'm currently working on this alongside with my code.

Tip: Name all your variables after what they supposed to do, this 
further helps understanding your code. Using "foo" and "bar" 
might be trendy among programmers, but it can ruin code 
readability (to the point I once had to completely rewrite an 
algorithm instead of simply updating it).


Also can I skimp out on details if a certain function only 
supposed to simply return a value (eg. getters, I usually write 
some warnings for setters even if they're pretty short).


Re: D easily overlooked?

2017-07-19 Thread solidstate1991 via Digitalmars-d

On Saturday, 15 July 2017 at 17:36:50 UTC, aberba wrote:


Who is building the killer app?


The problem with a killer app is that it needs multiple teams to 
build it, not a single person, and many open-source projects go 
on their own ways instead of contributing to a single goal, see 
the many distros of Linux for an example. You know my engine 
called PixelPerfectEngine, that project started in 2014, and it's 
still in alpha due to its massive lack of features compared to 
some of its competitors also doing 2D graphics in a similar way. 
One even has mode7-like capabilities and road generation, 
although mine will have an editor and a sound engine capable of 
playing back multi-channel music, instead of concentrating solely 
on graphics, not to mention the possibility of hardware 
acceleration via DCompute and VideoCore4 assembly (I'll write 
that few blitter and alpha-blending stuff in assembly, I already 
had to write them in x86 assembly due to the lack of proper SIMD 
with any of the compilers). Granted, I had college, work, family 
and personal issues due to long periods of unemployment, and in 
the beginning my skills seriously lacked, but with a team the 
engine would already have been finished.


But even first, the language and the compilers still have their 
own problems. DLL support is buggy, SIMD is partial and x86-64 
exclusive, the GC is not perfect, many parts of the standard 
library is obsolete, like the XML parser.


Re: D easily overlooked?

2017-07-19 Thread solidstate1991 via Digitalmars-d

On Sunday, 16 July 2017 at 08:37:53 UTC, Ecstatic Coder wrote:

Let's look how D is "sold" on dlang.org :

"D is a general-purpose programming language with static 
typing, systems-level access, and C-like syntax. It combines 
efficiency, control and modeling power with safety and 
programmer productivity."


And then :

"Why D ?

1. Convenience (type inference, GC, arrays, slices, ranges, etc)

2. Power (classic polymorphism, value semantics, functional 
style, generics, generative programming, contract programming, 
concurrency, etc)


3. Efficiency (native code, fast and safe, native pointers, 
etc)."


Do you see the difference between those website ?

Language features versus real-world usage, again !!!


So this is what Andrei meant when he once mentioned D's 
historical lack of vision.


Re: What are the unused but useful feature you know in D?

2017-07-03 Thread solidstate1991 via Digitalmars-d

On Sunday, 25 June 2017 at 23:21:25 UTC, aberba wrote:
Can you share feature(s) in D people are not talking about 
which you've found very useful?


If you need to write a lightweight library or app with no GC and 
Phobos, you can fall back to C functions in core.stdc, my 
wavefile codec/utility (ADPCM, interpolation, resampling, etc.) 
is being written this way.


Re: Isn't it about time for D3?

2017-06-11 Thread solidstate1991 via Digitalmars-d

On Sunday, 11 June 2017 at 22:53:44 UTC, ketmar wrote:


so what? "nearly destroyed" != "destroyed". as i said, D is 
alive and ok, nothing fatal happens. backing fear of changes 
with "last time it almost destroyed us" won't do any good in 
the long term: it will ultimately end with having no changes at 
all, D will stagnate and die.


changing is a natural thing for evolution, even breaking 
change. evaluating was what done wrong/inoptimal, and improving 
on that it the thing that will keep D not only alive, but will 
make it better and better. otherwise, accumulated legacy will 
inevitably turn D into another C++, and somebody will create E 
(or something ;-). why don't create E outselves, and call it D3 
instead?


E already exists 
(https://en.wikipedia.org/wiki/E_(programming_language) + 
AmigaE), two things having the same name often doom one of them 
into obscurity (see SDLang, which originally was called SDL).


There were already a few changes in the language (use of static 
imports instead of directly accessing functions/libraries, etc), 
just as we're adding to the language, we can remove rarely used 
functions by first making them deprecated, then removing them 
altogether as time passes on.


Re: Isn't it about time for D3?

2017-06-11 Thread solidstate1991 via Digitalmars-d

On Saturday, 10 June 2017 at 23:30:18 UTC, Liam McGillivray wrote:
D is a language with much promise, but it still has many 
problems that prevent it from being the great replacement for 
C++ that it was always meant to be.


There have been many changes suggested over time to improve the 
language, but they were rejected as they would inevitably cause 
breaking changes.  I think that breaking changes are something 
to be careful about, and they can definitely be a nuisance to 
adapt to.  But they must happen once in a while for things to 
advance.


I think it's about time for D3 to start developing.  So many 
suggestions for language changes have accumulated by now so I 
think that it's time to introduce to introduce the next wave of 
breaking changes.
It's nice to see that there's a wiki page that documents the 
history of suggested language changes. I applaud the 
organization.

https://wiki.dlang.org/Language_design_discussions

I realize that there are people who want to continue using D as 
it is, but those people may continue to use D2. Putting the 
breaking changes in a separate branch ensures that DM won't 
lose current clients as they can just continue using D2 as they 
are. Even after D3 is stabilized, D2 could have continued 
support until nobody wants it.


In Lua (a language with a bigger past and hopefully smaller 
future than D), breaking changes are introduced in even minor 
versions.  While I do think that's excessively frequent, there 
are still users of Lua 5.1.  Making D3 doesn't mean that D2 has 
to die.


I feel like D3 would see significantly wider adoption than D2 
ever got, as long as it successfully solves the problems of D2.


Here are some ways that D3 can be an improvement of D2:
-Final by default
-A standard library that is effective with or without garbage 
collection


Even Andrei has admitted some issues with D when answering this 
Quora question:

https://www.quora.com/Which-language-has-the-brightest-future-in-replacement-of-C-between-D-Go-and-Rust-And-Why

Even if you don't want to release a D3 too soon, I think it 
definately makes sense to get started sooner rather than later.
 D3 should be developed for the same reason that D was first 
developed; to make a better programming language that learns 
from the problems of the one before.


I think we just should do those little fixes on D2 (eg. fixing 
the standard library, DIP45), instead of yet again reinventing 
the wheel. We have limited resources, I think first and foremost 
we should port the backend from C to D to further improve our 
productivity on the main compiler, then bugfixes and implementing 
non-x86 targets will be much easier.


Re: Could DRuntime be implemented as a shared library?

2017-05-31 Thread solidstate1991 via Digitalmars-d
Won't work, TypeInfo doesn't cross the shared library boundary 
atm. This is probably the real blocker for shared libs on 
Windows (includes Phobos as a DLL).


The GC can be swapped out already at runtime, just need shared 
libs to be working properly :)


Where can I read more about this TypeInfo issue? In July I'll 
have a bit more free time, maybe I can help with it.


We already do all this, on Linux (and I think OSX too) 
Phobos+druntime is built as a shared library by default.


I knew that under Linux Phobos is a shared library, I didn't know 
about the rest.


Could DRuntime be implemented as a shared library?

2017-05-31 Thread solidstate1991 via Digitalmars-d
Offloading at least the GC could enable the implementation of a 
per-application GC easier, as well as making development of 
shared libraries under Windows much easier, might even enable the 
offloading of Phobos into its own DLL.


As an outsider, I think the biggest problem would be from the 
templates (if any) used in the runtime library on the 
implementation side. On the other hand we could just still 
implement those as a static library into the executable files.


Versioning would be the hardest, we either release a new one with 
each new implementation, or develop the runtime library more 
independently from the compiler with clever versioning, however 
it might cause the development of the DRuntime to be fragmented 
for supporting older and newer versions.


Re: Non-x86 targets for DMD

2017-05-25 Thread solidstate1991 via Digitalmars-d

On Monday, 22 May 2017 at 14:49:46 UTC, Stefan Koch wrote:


Conditional execution is not in the later models of ARM, I 
believe.
Also does not really provide advantages over conditional jumps, 
except in rare circumstances.


That might be the case, maybe that's how they made space to 
address the 32 registers by cutting the rarely used conditional 
execution function.


Re: Non-x86 targets for DMD

2017-05-21 Thread solidstate1991 via Digitalmars-d

On Wednesday, 17 May 2017 at 22:16:35 UTC, Kagamin wrote:


Can't you run it in qemu?


Probably I could, might even work parallel with other stuff, 
especially stuff that are mainly lexical (register naming, etc). 
So far I studied the ARM assembly language, and it seems less 
scary than the x86 one, also the conditional execution might be 
useful with the ? : operators (if thumb isn't used).


Re: Non-x86 targets for DMD

2017-05-17 Thread solidstate1991 via Digitalmars-d

On Friday, 14 April 2017 at 13:29:35 UTC, rikki cattermole wrote:


Here is my suggestion, try and document the backend.
You may form a very different opinion after trying to do that 
or come up with a game plan on how to implement non-X86 targets.


As I see there's a lot of problem with the DLL support under 
Windows, I'm accepting your suggestion and help the x86 side 
first instead. I still don't have a hardware to test the compiler 
in the future (will getting a RPi Zero and RPi 3 in the future as 
well as other popular single board PCs to debug my own projects 
on different targets).


Code generation and parsing

2017-05-15 Thread solidstate1991 via Digitalmars-d
Recently I have a big problem with creating windows for my game 
engine (PixelPerfectEngine, see it in dub), so I thought I create 
a tool that would help me create windows for various other tools 
of the engine (primarily for the map editor) or for games.


Is there some similar open-source tool (not necessarily for D) 
where I can borrow a few ideas from? In the future I could even 
make similar tools for other frameworks too as an exchange.


Non-x86 targets for DMD

2017-04-14 Thread solidstate1991 via Digitalmars-d
Since the backend is no longer restrained by Symantec licenses, 
there's no reason why there should be only be x86 and amd64 CPU 
support even if GDC and LDC already have their own 
implementations.


I would help out after I either finish my college or get booted 
out from there for failing to finish it (I currently need a 
consultant for my master's thesis I'm making on my project 
written in D, contact me if you would want to help me out in 
this, I'll provide you with two way Hungarian-English 
translation), I'm already planning my suggestions and 
contribution for a better vector support (I would suggest to add 
32 bit and 64 bit fixed-point vectors, the 32 bit ones would be 
great for per-pixel graphics in certain cases to avoid 
workarounds).


Carrying over a project from mono-D to Visual-D

2017-02-18 Thread solidstate1991 via Digitalmars-d
As Xamarin 5.10 suffers from very serious memory leaks when 
compiling (and I still haven't started to help out in the new 
mono-D thanks to I needed to cling back on an old version and 
there's no way using a new alongside the old), so I need an IDE 
replacement in the meanwhile to continue working on my projects. 
I once rebuilt my project to separate the editor and the engine, 
the engine itself is planned to be multi-platform (with plans to 
try to make it work on a cheap single-board ARM-based PC).


Re: Why not promoting team work?

2017-01-17 Thread solidstate1991 via Digitalmars-d

On Saturday, 14 January 2017 at 02:28:34 UTC, nbro wrote:

Hi!

I've been following D for at least one year. I like it and I 
think it's a very good programming language, even though I do 
not agree with everything it's being done.


One thing that has saddened me is seeing a lot of D's users 
trying to implement their own library or maybe trying to 
implement multiple libraries at the same time. Most of the 
results are very poor because libraries are not


1. completed
2. maintained
3. well-written

I've seen comments like "I'm no more maintaining this library 
because I'm not able to proceed since I do not have the 
skills". This of course doesn't bring any credibility to the 
language, to the community, etc. So we see some people trying 
bring the caravan forward, but I many of these people are not 
qualified enough clearly, since they do not even have the 
vision and the knowledge that starting a project like creating 
a serious GUI or modern IDE is not an easy task, and definitely 
it won't be a person alone that will create one a decent amount 
of years that will compete with the most performant ones.


My idea (which is mostly directed to the big names behind D) is 
that team work should somehow be promoted.


How could you do such a thing?

One possibility could be to announce interesting and useful 
projects in D and somehow ask for people interesting in working 
in such projects. These people should clearly be qualified for 
the job, but this isn't an easy task to verified. The projects 
could eventually or not be backed up by the announcer of the 
project.


These could be a few starting ideas and options.


I have a game engine in the works, but as I plan to use it as my 
master's thesis (if I find a consultant for it) I cannot really 
let others to work on it until I either have to give up using it 
for my thesis or wait until I get my college degree.


However I have other plans to. Some of them include:
 - Creating a more advanced replacement for MIDI, either making 
my plans that are based upon 128bit packets, or get something 
usable out of OSC...

 - ...alongside with a new audio plugin system.
 - I created a GUI system for my engine, but I like it so much 
that I planned to make it usable outside of my engine, and it 
could be used for D based applications or even in operating 
systems like PowerNEX.


On these I could get any person who want to help me right in from 
the start.


Re: To use a scripting language or not to use a scripting language?

2017-01-10 Thread solidstate1991 via Digitalmars-d

On Friday, 6 January 2017 at 21:08:46 UTC, Jordan Wilson wrote:
+1 for LuaD. I'm working on a Dominion simulator (Dominion is a 
deck building card game), and was able to move all card logic 
into run time data. It was cool, but eventually had to go back 
to compiling the logic for performance reasons.


It seems I'm going with it, at worst I'll make my own fork and 
add some custom features right into the language, plus let others 
to add their own custom scripting language (Basic, Python, etc.) 
support later on.


Re: To use a scripting language or not to use a scripting language?

2017-01-06 Thread solidstate1991 via Digitalmars-d

On Friday, 6 January 2017 at 14:49:10 UTC, Ivan Kazmenko wrote:
On Friday, 6 January 2017 at 14:19:34 UTC, Anton Pastukhov 
wrote:
As a game developer I can recommend to use Lua. This language 
is tradtionally used in many games/game engines.


Ironically, one of D's declared selling points is, according 
to https://dlang.org/overview.html:



Who is D For?
Programmers who write half their application in scripting 
languages the other half in native langauges to speed up the 
bottlenecks. D has productivity features that make using such 
hybrid approaches unnecessary.


The use case here is arguably different.  In the ideal case, 
game logic scripts are editable by gamers which are not 
necessarily programmers.  Chris Wright has already given a 
bunch of other reasons to use a self-contained, simple, 
domain-specific, and limited language in such a setting.


Perhaps D will some day be usable in a language-as-a-library 
setting which would make it possible to use for game logic 
scripts, too.  But considering the points above, it still won't 
necessarily be a good idea.


Some of the top games use Python (Civilization IV) and Lua 
(World of Warcraft, Far Cry, SimCity 4) for scripting.


Ivan Kazmenko.


I second this. My engine already have some scripting (although 
currently untested) via XML for its map format, to make maps more 
portable they have a script to load tiles and sprites on command, 
this also enable modding to a certain degree. More scripting 
would enable even deeper levels of modding without hacking the 
executable file.


Re: To use a scripting language or not to use a scripting language?

2017-01-06 Thread solidstate1991 via Digitalmars-d

On Friday, 6 January 2017 at 12:42:07 UTC, Adam D. Ruppe wrote:

On Friday, 6 January 2017 at 09:18:16 UTC, Chris Wright wrote:
Anyway. Lua would be a reasonable option to integrate. I don't 
think there's a high-level wrapper for it in D.


check out LuaD:

https://github.com/JakobOvrum/LuaD


I also made my own scripting language which is nice because it 
is self-contained (you can compile from scratch with just two 
files), and super easy to integrate, but it is also slow and 
buggy compared to Lua, so for something serious I'd say take a 
gander at that luad link.


I'm going to check Lua out for more once I get a bit more free 
time from work and studying. If it seems good enough, I might 
even add an alternative option for it if I decide to write my own 
scripting language. I already implemented an event-handling 
system in my engine for ease of use on input devices and the GUI 
called Concrete (probably I'm going to make a real portable 
framework on it as it looks really cool and retro).


To use a scripting language or not to use a scripting language?

2017-01-05 Thread solidstate1991 via Digitalmars-d
I'm thinking on possibly implementing a scripting language for my 
game engine for general purpose and AI. At one point I was 
thinking on making a scripting language based on D with 
ECMAScript and Prolog/Planner influences.


Basic principles for the planned scripting language:
 - Adding the possibility for logic programming, mainly for 
decision making engines, could be altered on the fly via code on 
the fly

 - Built-in support for fuzzy logic
 - Scripts that run either on step or time basis, intervals can 
be altered by code on the fly
 - Running from a virtual machine either directly from the source 
code or from bytecode

 - Ability to call functions through the virtual machine
 - Portability with certain compromises regarding to the function 
calls
 - And making this available for other projects, also making it 
optional for the engine as it's not crucial


However I was also thinking on why not just put a few helpers 
into the engine's code for scripting and the AI. I already 
planning to create an automated animator for the engine to 
replace sprites if a certain time elapses (uses milliseconds as 
its timebase to make it independent from refresh-rate), I don't 
think some helpers for creating a decision making engine in D 
would be much harder (much easier than creating a new language).


Re: What are you planning, D related, for 2017 ?

2017-01-04 Thread solidstate1991 via Digitalmars-d

On Monday, 2 January 2017 at 15:16:31 UTC, Basile B. wrote:
Write your plan here, and let's take a rendez-vous next year, 
to check those plans !!


Main plans:
 - Finish the 0.9.1 version of my graphics engine. I have to 
finish the new collision detection algorithm that uses a bitarray 
instead of testing for transparency, also I will rearrange 
certain stuff for better readability. (also I'll finally make use 
of git to compile the main library and the editor)
 - Use said engine as my thesis if I can find a consultant in 
time (if not I'll do something else)

 - Finish the editor
 - Make use of the parallelism for rendering
 - Make a game in it (either a Touhou fan game or a game 
featuring our mascot, Dlangman)


Other plans:
 - Try to implement a custom shader that would do the fixed-point 
rendering on the GPU via alpha-blending onto a texture and taking 
care of the CLUT (currently done by the CPU via SSE2 and the 
in-line assembler)
 - Either implement a pre-existing language for AI and scripting 
(eg. Lisp) or write a new one based on D. Current plan for the 
latter is an ECMAScript and Prolog influenced language for 
general-purpose and AI programming, which either can be run from 
the source code or from a byte-code. This could be used in other 
projects too.


Should I write an OSC library for D, or is it a sunken ship?

2016-07-24 Thread solidstate1991 via Digitalmars-d
After I started to get into a near usable state with my game 
engine, which originally called as VDP-engine, now it's renamed 
to Pixel Perfect ( https://github.com/ZILtoid1991/VDP-engine ), I 
was thinking on creating some software synths, but I find the 
conventional midi lacking in feature. After some research on the 
web, I found Open Sound Control as a perfect candidate, however 
it's not only lacks a standard namespace, but also barely 
supported.


On the other hand, I want to code something else besides my 
engine (although I think I'll publish the Extendible Bitmap (a 
bitmap file format capable of storing multiple images and 
animations in a single file) as a separate library), etc. I even 
thinking about creating an OSC file, similar to midi files with 
its own editor. Or should I write a framework instead with nice 
retro aesthetics? I already wrote one for my engine, so I can 
have a nice windowing framework for the engine's editor, although 
it lacks functionality and uses the CPU for drawing.


What will replace the default XML parser and when?

2015-11-10 Thread solidstate1991 via Digitalmars-d
I'm developing the next version of my game engine, and I want to 
add an easily editable configuration method by XML, especially as 
it's very easy to extend.