<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>A blog from a student in Computer Sciences who has been teaching Linux technologies and still does web-development in haXe.</description><title>A Bug's Life!</title><generator>Tumblr (3.0; @pignoufou)</generator><link>http://www.benjamindasnois.com/</link><item><title>Going untyped or Dynamic : the difference and how important it will be.</title><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Most of my fellow haXe developers may think that untyped is just like a block of code where everything acts like Dynamic. Well, that’s false, and I’m gonna explain in this post what both of these things really are.&lt;/p&gt;
&lt;p&gt;So first, untyped. Untyped is a keyword that acts on a block of code and basically, it just tells the compiler to get out of your way when it comes to typing. One could see that as temporarily deactivating the typing sub-system.&lt;/p&gt;
&lt;p&gt;On the other hand, there’s the Dynamic type. Dynamic really *is* a type, it’s just that it has a special behavior. It’s behavior is that it has an infinite number of fields (accessible in reading) and all of these fields also are Dynamic. That’s the basic thing of Dynamics, after that there are all the other things such as implementing Dynamic but I’m not gonna describe everything here. The language reference is there to do that.&lt;/p&gt;
&lt;p&gt;No, if I talk about it today, it’s because I’m pretty sure many haXe programmers have been using untyped blocks in their code instead of Dynamics (maybe because it’s easier to just write “untyped”), and that worked since most of the platforms we have in the official compiler today are dynamic.&lt;/p&gt;
&lt;p&gt;So, this code will certainly work on JS/Flash/Neko and even PHP :&lt;/p&gt;
&lt;p&gt;var s : String;&lt;br/&gt;s = “Hello”; &lt;br/&gt;untyped s.something = 12;&lt;br/&gt;&lt;br/&gt;But here, what we do want to achieve is really a Dynamic behavior (although that’s quite stupid to declare the variable as String, but that’s just for the sake of the example). So it would be better to write :&lt;/p&gt;
&lt;p&gt;var s : String;&lt;br/&gt;s = “Hello”;&lt;br/&gt;var d : Dynamic;&lt;br/&gt;d = s;&lt;br/&gt;d.something = 12;&lt;/p&gt;
&lt;p&gt;Well, we could have done it with a bit less lines but I wanted to keep things crystal clear. Here, we will achieve the same behavior as in the first example, but instead of just switching the typing system to off, we ask it to take care of making the code work. In the platforms we have in the compiler at the moment, that’s not a problem because they are dynamic (not C indeed but it’s pretty young in the compiler).&lt;/p&gt;
&lt;p&gt;Now, the Java target is coming, and although I can’t say if it will ever make it into the official distribution I do hope so. And since Java is really a static language, one will have to use the Dynamic type as that will ensure that the compiler will take care of doing all the magic things for you.&lt;/p&gt;
&lt;p&gt;Want more explanations? Have any questions or comment?&lt;/p&gt;</description><link>http://www.benjamindasnois.com/post/496645212</link><guid>http://www.benjamindasnois.com/post/496645212</guid><pubDate>Mon, 05 Apr 2010 00:47:38 +0200</pubDate><category>haxe</category><category>haxe</category><category>dynamic</category><category>typing</category></item><item><title>haXe/Java is still there and it's closer than ever!</title><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Yes! That’s true! I’m still working on haXe/Java (to give you some news about the project I’m alone on it again because David had to leave due to free-time lacking, and some of my fellow haxers have offered to help so I know I can ask them if I have problems).&lt;/p&gt;
&lt;p&gt;Not only am I still working on it, but I’m really back to it! You know, I was kind of disappointed because I had lots of difficulties with the Dynamic’s, but recently, someone brought a question to the mailing-list and Nicolas came to clarify things about what Dynamic’s are supposed to do or not. To put it shortly, Dynamic’s can be considered almost as “untyped” (still I suggest you read &lt;a title="Thread about Dynamic's" target="_blank" href="http://lists.motion-twin.com/pipermail/haxe/2010-March/034559.html"&gt;the thread&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Well, what that means is that I simplified my view on (and what I expected from) Dynamic’s and that’s going to make it way easier to implement them. Unfortunately, that also certainly means that java will be the platform with the poorer support for Dynamic’s.&lt;/p&gt;
&lt;p&gt;Dynamic’s were needed in order to be able to implement anonymous objects (and typedefs up to some point).&lt;/p&gt;
&lt;p&gt;So, now, haXe/Java is really closer to us than it has ever been!&lt;/p&gt;
&lt;p&gt;See you soon!&lt;/p&gt;</description><link>http://www.benjamindasnois.com/post/481801311</link><guid>http://www.benjamindasnois.com/post/481801311</guid><pubDate>Mon, 29 Mar 2010 17:00:00 +0200</pubDate><category>haXe/Java</category><category>haXe</category></item><item><title>Training newbies : How a whole corporation may forget to go through simple things</title><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;As you may know, I’ve been a trainer in a well-known IT school in France. I’m now back in it as a student, and although I’ve been mainly teaching Linux Technologies, I’m still really interested in everything that’s related to training.&lt;/p&gt;
&lt;p&gt;That’s when a student who’s a freshman told me something : in their C class they were asked to display a rotating cube in SDL. Ok, that may seem a classic to most of us, experienced developers, but that’s where the problem is.&lt;/p&gt;
&lt;p&gt;The fact is, they had no course on SDL, and although there are several resources about it online, they are only in their first year, most of them had little to no-knowledge about programming before, and they are French people (meaning that English is not their native language with all the problem that can cause, especially to people not already really familiar with our vocabulary).&lt;/p&gt;
&lt;p&gt;By the way, on top of the difficulties related to the SDL, there are the difficulties related to the mathematics.&lt;/p&gt;
&lt;p&gt;We have forgotten that all these layers, that are of little difficulty on their own (each one), when added, represent a big difficulty for newbies.&lt;/p&gt;
&lt;p&gt;So, I suggest that we should add a step, a step that’s pretty natural because let’s remember something : years before the apparition of 3D Games, we had 2D Games, and 2D is far easier to manage because most people interested in computers are used to working on a screen which is 2D, also, they are generally just out from High-School where you do work in 2D most of the time.&lt;/p&gt;
&lt;p&gt;Also, it’s way easier for the mind to think in 2D (just because that’s one variable less and also because it allows to forget about the project problem).&lt;/p&gt;
&lt;p&gt;So, what’s a good exercise, providing all the difficulties (such as managing rotations with some trigonometry) while avoiding 3D?&lt;/p&gt;
&lt;p&gt;It’s simple and that’s an application we’re all used to see : a clock!&lt;/p&gt;
&lt;p&gt;With a clock, you have to draw and you also have to manage rotations. So, that’s a good idea.&lt;/p&gt;
&lt;p&gt;That was just a thought that I wanted to share.&lt;/p&gt;
&lt;p&gt;See you soon!&lt;/p&gt;
&lt;p&gt;Note : Here, I use the word “newbie” just in the sense of “new-comers”, nothing negative as it is sometimes implied on the Web.&lt;/p&gt;</description><link>http://www.benjamindasnois.com/post/448371470</link><guid>http://www.benjamindasnois.com/post/448371470</guid><pubDate>Sun, 14 Mar 2010 22:01:58 +0100</pubDate><category>training</category><category>thoughts</category><category>ideas</category></item><item><title>The Internet Explorer Nightmare</title><description>&lt;p&gt;Hello!&lt;/p&gt;
&lt;p&gt;Today at work, I had to create one of these things I don’t like because I think they’re not really useable but the client wants… Today the “I don’t like that” thing is… a vertical news scroller!&lt;/p&gt;
&lt;p&gt;So, it’s a pretty simple thing indeed… a block (typically a rectangle) and inside it some content going from bottom to top until everything has been seen then you put everything at the bottom and go up again….&lt;/p&gt;
&lt;p&gt;So, apart from the script that makes things go up (and it’s a simple one once you remember about scrollHeight and offsetHeight), you have to set the overflow property of the container to “hidden” in the CSS.&lt;/p&gt;
&lt;p&gt;Straight-forward and simple ? Well… not exactly! That’s working on Firefox, Chrome, Safari and IE8 but not on IE7 nor IE6…&lt;/p&gt;
&lt;p&gt;In fact, IE7 and IE6 behave like if overflow wasn’t set to hidden… it seems it has something to do with &lt;a title="haslayout.net" target="_blank" href="http://haslayout.net/"&gt;hasLayout&lt;/a&gt; but hasLayout was “true”…&lt;/p&gt;
&lt;p&gt;In fact, for the overflow property to work correctly, you should set the “position” property to “relative” (and you can leave top and left to 0, so that doesn’t mess with the position). And… TADA! It works!&lt;/p&gt;
&lt;p&gt;Pretty easy… once you know it!&lt;/p&gt;
&lt;p&gt;Too bad we still have to deal with those stupidities!&lt;/p&gt;
&lt;p&gt;See you soon!&lt;/p&gt;
&lt;p&gt;(by the way, sorry, still no podcast, but I promised it will come, and it will… I’m still waiting for some graphics :))&lt;/p&gt;</description><link>http://www.benjamindasnois.com/post/424976492</link><guid>http://www.benjamindasnois.com/post/424976492</guid><pubDate>Thu, 04 Mar 2010 00:34:08 +0100</pubDate><category>nightmare</category><category>internet explorer</category><category>layout</category></item><item><title>The Podcast is coming</title><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Just a quick note to tell everyone that I’m sorry for being late to publish the first Podcast. You know, it’s always the same thing : quite a lot of work, a bit ill (nothing bad, don’t worry), and the need to sleep… Not to say that the Olympic Games haven’t been of any help. ;)&lt;/p&gt;
&lt;p&gt;I hope to be posting it tomorrow evening!&lt;/p&gt;
&lt;p&gt;See you soon!&lt;/p&gt;</description><link>http://www.benjamindasnois.com/post/422308151</link><guid>http://www.benjamindasnois.com/post/422308151</guid><pubDate>Tue, 02 Mar 2010 18:30:00 +0100</pubDate><category>podcast</category></item><item><title>Announcing the new haXe podcast serie.</title><description>&lt;object type="application/x-shockwave-flash" width="400" height="300" data="http://vimeo.com/moogaloop.swf?clip_id=9497368&amp;server=vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF"&gt;&lt;param name="quality" value="best" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="scale" value="showAll" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=9497368&amp;server=vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF" /&gt;&lt;embed src="http://www.vimeo.com/moogaloop.swf?clip_id=9497368&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Announcing the new haXe podcast serie.&lt;/p&gt;</description><link>http://www.benjamindasnois.com/post/393313153</link><guid>http://www.benjamindasnois.com/post/393313153</guid><pubDate>Tue, 16 Feb 2010 22:04:47 +0100</pubDate><category>haXe</category><category>podcast</category><category>hxPod</category></item><item><title>Why you shouldn't put a contact form on your website.</title><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Today at work I’ve been prospecting for a (web|communication)-agency. I came across several ones and I had to contact them.&lt;/p&gt;
&lt;p&gt;That’s a pretty obvious and straight-forward thing. Well, at least it should be, because most of the time when calling you have difficulties to get to speak to someone who can help you (certainly because they are at a meeting).&lt;/p&gt;
&lt;p&gt;But my point today is about contact forms included on websites. I came across several, and although that may seem pretty good for you because you can ask for some informations and have them for sure and also have them in a formatted way.&lt;/p&gt;
&lt;p&gt;But the real problem is that mails sent by this way are not stored in your customer’s mailbox, making it difficult for him to track the conversation and have a trace of the contact.&lt;/p&gt;
&lt;p&gt;So, one may argue that contact forms are also pretty good because they are a straightforward way to contact you without opening a mail application (yes some people do not have things correctly configured for mailto: links). That’s true, but that should never be the only possibility, nor should it “hide” your mail address.&lt;/p&gt;
&lt;p&gt;I suggest to give both options and to present them with an equivalent sizing (i.e. : they should occupy the same space). Also, if the user choose to use the form, add a checkbox so that you can send him a copy of the mail for its archive.&lt;/p&gt;
&lt;p&gt;That may seem a bit stupid, but trust me, even if I had a spreadsheet to follow my contacts, I sometime forgot to update it (I had some other things in mind) and the pain that comes with that can be avoided quite easily. And never forget : if you help me with my work, you’re already half way to get selected! ;-)&lt;/p&gt;
&lt;p&gt;Any thoughts?&lt;/p&gt;
&lt;p&gt;See you later!&lt;/p&gt;</description><link>http://www.benjamindasnois.com/post/391382025</link><guid>http://www.benjamindasnois.com/post/391382025</guid><pubDate>Mon, 15 Feb 2010 22:10:14 +0100</pubDate></item><item><title>Bought a netbook : Acer Aspire One</title><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Some weeks ago I bought a netbook. The reason was pretty simple : I have a macbook that I use both for my personal use and for school. So I have MacOSX on it, but being a web-developer and an IT student, I sometimes need to be able to do some testing on Windows. Add to that the fact that I’m the &lt;strike&gt;proud&lt;/strike&gt; ashamed owner of Windows Mobile based phone and that I want to be able to develop for it and you’ve got the picture!&lt;/p&gt;
&lt;p&gt;So I decided to buy a Acer Aspire One D250. It comes loaded with Windows 7 Starter Edition and Android.&lt;/p&gt;
&lt;p&gt;First, let’s have a word about Windows 7 Starter Edition : it’s just a joke. Excuse me, but preventing the user from changing the wallpaper isn’t anything feature-based. Not being able to create a bridge between two network interfaces is much more one… so I upgraded to Windows 7 Professional as provided by MSDNAA account.&lt;/p&gt;
&lt;p&gt;But enough talking about Windows.&lt;/p&gt;
&lt;p&gt;So, what happened when I unboxed my netbook?&lt;/p&gt;
&lt;p&gt;I turned it on and at my surprise, Windows was booting without me being presented with any LILO/GRUB screen to allow me to boot Androïd. I found out that there’s a Windows utility to “install” (or allow booting of) Androïd. That’s a bit strange but anyhow…&lt;/p&gt;
&lt;p&gt;So, next thing, when you buy a computer loaded with an OS, you’re wanting your “restore CD”. Well, years before, they used to give it. Now you have to burn them…&lt;/p&gt;
&lt;p&gt;But since a 10.1” wide-screen netbook, there’s no DVD-Drive. That’s normal… But the utility to create the discs won’t let me create an ISO image… no, it just keeps saying that it can’t create the restore discs since there’s no burner… You know they could at least let you create an image for you to put on an usb-drive or burn from another system, but no. Period.&lt;/p&gt;
&lt;p&gt;Later I found a workaround by using the demo version of a software to create a virtual burner…&lt;/p&gt;
&lt;p&gt;I also have to say that there’s a restore partition on the hard drive but come on, how well does it work if you screw up your partitions table or accidentally write on it? You’re just fucked.&lt;/p&gt;
&lt;p&gt;That’s what makes you feel quite bad about a system that should be 100% embedded… it’s not well integrated and that made me feel like “We have a generic software to create restore discs, we just ship it on all computers”, period.&lt;/p&gt;
&lt;p&gt;Tomorrow, I’m gonna talk about the Androïd system that comes with it.&lt;/p&gt;
&lt;p&gt;See you online!&lt;/p&gt;</description><link>http://www.benjamindasnois.com/post/339870832</link><guid>http://www.benjamindasnois.com/post/339870832</guid><pubDate>Mon, 18 Jan 2010 00:46:56 +0100</pubDate><category>netbook</category><category>acer</category><category>hardware</category></item><item><title>I suggest you watch this video in HD to be able to read the...</title><description>&lt;object type="application/x-shockwave-flash" width="400" height="300" data="http://vimeo.com/moogaloop.swf?clip_id=8096702&amp;server=vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF"&gt;&lt;param name="quality" value="best" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="scale" value="showAll" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8096702&amp;server=vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF" /&gt;&lt;embed src="http://www.vimeo.com/moogaloop.swf?clip_id=8096702&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br/&gt;&lt;br/&gt;&lt;p class="disclaimer"&gt;I suggest you watch this video in HD to be able to read the code.&lt;/p&gt;

&lt;p&gt;haXe Podcast 1 : Getting started with haXe/Neko.&lt;/p&gt;
&lt;p&gt;There’s sound ; turn up the volume if needed.&lt;/p&gt;
&lt;p&gt;Also, sorry for not editing it more, I will certainly work on it again and replace it with a new and better version.&lt;/p&gt;</description><link>http://www.benjamindasnois.com/post/277629717</link><guid>http://www.benjamindasnois.com/post/277629717</guid><pubDate>Thu, 10 Dec 2009 16:39:01 +0100</pubDate></item><item><title>Some news about haXe/Java</title><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Sometimes ago I’ve been talking about haXe/Java and show-casing it with a very simple Android Application sample.&lt;/p&gt;
&lt;p&gt;Obviously, the generated buzz has been quite huge (compared to our community’s size) but I’ve been surprised that no one contacted me to participate in the project.&lt;/p&gt;
&lt;p&gt;Some days after, some events happened that prevented me to continue most of my personal work (you know, those kind of things that makes you wonder if you were right at the first place).&lt;/p&gt;
&lt;p&gt;Well, that was before.&lt;/p&gt;
&lt;p&gt;About a month ago, I’ve been contacted by several persons, some representing companies, some individuals. Some are offering sponsorship and some are offering help.&lt;/p&gt;
&lt;p&gt;This is a great thing and I’m now quite excited about continuing the work on haXe/Java since I see people are really interested in it.&lt;/p&gt;
&lt;p&gt;So, I’m going to write about some “problems” I have to face while writing this Java target.&lt;/p&gt;
&lt;h3 class="subtitle"&gt;haXe Void against Java Void&lt;/h3&gt;
&lt;p&gt;As you certainly know, haXe has a type Void. When you’re using it, it means that your function may return nothing (using a simple “return;” for example) or return null.&lt;/p&gt;
&lt;p&gt;Java can also declare methods as void, but in such a case they can only “return;”. Although this may seem to be a very small difference it’s a quite important one.&lt;/p&gt;
&lt;p&gt;The first idea would be to create a type “haXe.Void” to be used when we generate the Java code : that would actually allow us to return null.&lt;/p&gt;
&lt;p&gt;But it has a drawback : Java makes an extensive use of method overriding (you can see that in the Android API for example), and a method declared as void in Java wouldn’t be overridable from haXe.&lt;/p&gt;
&lt;p&gt;The second possibility would be to type as “void” and transform “return null;” to a simple “return;”. This is a possibility but I’m actually not feeling very comfortable with it because I feel like it may change the behavior of something at some time… (maybe throwing some problems when doing a == null).&lt;/p&gt;
&lt;p&gt;Third possibility : let the developer choose the behavior to use by compiling Void to haXe.Void and having a java.Void that compiles to java’s native void.&lt;/p&gt;
&lt;p&gt;What do you think about it ?&lt;/p&gt;</description><link>http://www.benjamindasnois.com/post/267721048</link><guid>http://www.benjamindasnois.com/post/267721048</guid><pubDate>Thu, 03 Dec 2009 15:37:57 +0100</pubDate><category>haXe/Java</category><category>void</category><category>nullness</category></item><item><title>Ejecting a CD on a MacBook without booting an OS.</title><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;This is a tips that may be useful if one day you’re messing with OSes installations on a Mac.&lt;/p&gt;
&lt;p&gt;As you certainly know, you can press the Alt key when booting your computer to choose between different boot media, what you may not know is that when this is done, you can also eject the CD-ROM. That may help you one day!&lt;/p&gt;</description><link>http://www.benjamindasnois.com/post/227312133</link><guid>http://www.benjamindasnois.com/post/227312133</guid><pubDate>Thu, 29 Oct 2009 23:40:24 +0100</pubDate><category>tips</category><category>macosx</category></item><item><title>HaXe's community management</title><description>&lt;p class="disclaimer"&gt;This post was written for the haXe’s mailing-list. I decided to cross-post it here because I want people who do not read the list to be aware that this discussion is taking place and its place is on the mailing-list. So, if you want to participate, do so on the mailing-list.&lt;/p&gt;
&lt;p&gt;/*  Please note that this is a long post. There’s no pun intended in it. There’s no complaining for the sake of complaining, I’m not targeting anyone.&lt;br/&gt; */&lt;/p&gt;
&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;As haXe, and most important, its community, are growing, I I think that it could be a good idea to organize the community.&lt;/p&gt;
&lt;p&gt;This would have to take into account several points :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Wiki maintenance&lt;/li&gt;
&lt;li&gt;Standard haXe’s framework management&lt;/li&gt;
&lt;li&gt;Community management&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Those are the three main concerned points IMHO. Now, let’s go deeper into each one.&lt;/p&gt;
&lt;h3 class="subtitle"&gt;Wiki maintenance&lt;/h3&gt;
&lt;p&gt;As we all know, the wiki is an important thing because it is the first thing a new-comer sees. But it’s also important because it’s where you’ll find the “official” documentation. The maintaining the wiki is difficult ATM because : anyone can edit it, it’s multi-languages.&lt;/p&gt;
&lt;p&gt;In fact, the main problem is that it’s multi-language. So, when we change something in an English page (and we do that quite often, to reflect a point discussed on this list for example), it may not be reflected in other languages (and in fact, there are quite a lot of chances that it will not be reflected). And to be honest, there are some languages that haven’t seen any change for months. This is a very important problem because the default website one sees is not the English one but the localized one which may be really out of sync.&lt;/p&gt;
&lt;p&gt;I know we already discussed that, but again, I think it would be good to have one person in charge for each language. That doesn’t mean that no one else should be editing it. That would just mean that this person would be a manager, eventually have a team of persons with who he could work. This is very important and would ease keeping other languages in sync with the English one.&lt;/p&gt;
&lt;h3 class="subtitle"&gt;Standard haXe’s framework management&lt;/h3&gt;
&lt;p&gt;The Standard Framework is a very important thing too, because as we all know, even if a language is really good, it’s nothing without a good framework. The thing is the framework is already *big* (don’t forget the code base is even bigger because of multiple targets) and maybe it should grow.&lt;/p&gt;
&lt;p&gt;There are two concerns about the haXe Framework :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;We need a way to bring new things in the framework, but not anything should make it to the framework. So, we need some kind of “proposal” and “moderation” procedures.&lt;/li&gt;
&lt;li&gt;We need to be able to maintain the framework : accepted proposals have to be implemented, bugs have to be solved.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here again, I suggest that we go we the “managers” way. But how to split it? By targets ? Or by API’s parts? (SPOD, JS things, …)&lt;/p&gt;
&lt;h3 class="subtitle"&gt;Community management&lt;/h3&gt;
&lt;p&gt;Ok seriously, the community is growing, and it’s not limited to this mailing-list. The problem is that we are only aware of people who uses this mailing-list because we do not organize anything else for the others. Not having “activity” community oriented also makes some people leave haXe because they feel like there’s nothing happening. I know I’ll hear the “but it’s open-source, so things are taking place everywhere on blogs, websites,… outside of haXe’s one” thing. That’s true, but we also need to centralize things. That do not mean that we need to annihilate things that are outside, but we need to organize things “inside” too. Look at “modern” languages and frameworks that made it : they organized things “inside”.&lt;/p&gt;
&lt;p&gt;In two days, it will be 4 years since haXe development started and in a little less than a month, that it’s been first released to the public. And how many “community meeting on the web” did we have? One. ONE. Incredible! Four years, so many people dedicated to haXe, and we only had ONE meeting online. Why? Because there’s no one to organize things that are community-oriented.&lt;/p&gt;
&lt;p&gt;If we want community-driven things, we need community-oriented activity. And we need someone to organize it.&lt;/p&gt;
&lt;p&gt;Please note that I’m going to cross-post this to my blog so that if some people do not know that the ML is here, they can get in touch. But I want the discussion to take place here. This is the place where it has to be.&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;—&lt;br/&gt; DASNOIS Benjamin&lt;br/&gt; &lt;a href="http://www.benjamindasnois.com"&gt;http://www.benjamindasnois.com&lt;/a&gt;&lt;/p&gt;</description><link>http://www.benjamindasnois.com/post/217509596</link><guid>http://www.benjamindasnois.com/post/217509596</guid><pubDate>Tue, 20 Oct 2009 00:19:02 +0200</pubDate></item><item><title>Typing functions in haXe</title><description>&lt;p&gt;Hello everyone,&lt;/p&gt;
&lt;p&gt;There’s been an interesting question on the haXe’s mailing-list regarding typing of functions. No matter what the question really was, it made me think I should write something about functions typing in haXe because it may not be really obvious when you’re not used to it.&lt;/p&gt;
&lt;h3 class="subtitle"&gt;So, Functions are typed.&lt;/h3&gt;
&lt;p&gt;Yes, functions are, like any other object, typed. Their type depends on two thing :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The arguments taken by the function&lt;/li&gt;
&lt;li&gt;The return type of the function (the type of the object that’s going to be returned)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So a function written like this :&lt;/p&gt;
&lt;p class="haXe-code"&gt;public function m1(arg1 : String, arg2 : String) : Int&lt;/p&gt;
&lt;p class="haXe-code"&gt;would be typed as taking as first parameter a String, as second parameter a String, and returning an Int. We note this like that :&lt;/p&gt;
&lt;p class="haXe-code"&gt;String-&gt;String-&gt;Int&lt;/p&gt;
&lt;h3 class="subtitle"&gt;More fun.&lt;/h3&gt;
&lt;p&gt;What’s even funnier, is that a function can take a function as a parameter, it can also return a function. So, how would we write that? It’s easy, just put parenthesis around things! Now, let’s imagine a function m1 that wants as first parameter a String, as second argument a function taking a String and returning an Int, and that returns an Int. We would write it like that :&lt;/p&gt;
&lt;p&gt;function m1(arg1 : String, arg2 : String-&gt;Int) : Int;&lt;/p&gt;
&lt;p&gt;And this would be typed as :&lt;/p&gt;
&lt;p&gt;String-&gt;(String-&gt;Int)-&gt;Int.&lt;/p&gt;
&lt;p&gt;Imagine m2, which takes the same parameters as m1 but returns a function taking an Int, an Int and returning a String. We could write it like this :&lt;/p&gt;
&lt;p&gt;function m2(arg1 : String, arg2 : String-&gt;Int) : Int-&gt;Int-&gt;String;&lt;/p&gt;
&lt;p&gt;This would be typed as :&lt;/p&gt;
&lt;p&gt;String-&gt;(String-&gt;Int)-&gt;(Int-&gt;Int-&gt;String)&lt;/p&gt;
&lt;p&gt;And you can embed things more and more… but pay attention to the parenthesis! ;)&lt;/p&gt;</description><link>http://www.benjamindasnois.com/post/216312249</link><guid>http://www.benjamindasnois.com/post/216312249</guid><pubDate>Sun, 18 Oct 2009 16:21:28 +0200</pubDate><category>haxe</category><category>Functions</category><category>typing</category></item><item><title>Why I'm not going to target Fan nor Scala</title><description>&lt;p&gt;Hello,&lt;/p&gt;

&lt;p&gt;Yesterday, Michiel Crefcoeur, sent a mail on the haXe mailing-list in which he pointed me to two languages : Fan and Scala.&lt;/p&gt;

&lt;p&gt;His point was that those language support dynamic typing and compile to Java and .NET, so that would ease the development of a Java&amp;dotNET back-end. In that, he got a point.&lt;/p&gt;

&lt;p&gt;But there’s a problem to me… Fan seems to be pretty cool but it doesn’t give you access to the underlying API (instead, it provides a top-level API) and I do not like that, also I don’t feel like it supports Android. This is important to me as I think mobile development is one of the ways to go nowadays (it is the way to keep us connected anywhere, anytime). The same thing applies to Scala.&lt;/p&gt;

&lt;p&gt;Moreover, there’s the fact that we would depend on another language, that doesn’t sound like a good idea. (Okay, at the moment I depend on Java, but it is seriously backed-up by Sun no?).&lt;/p&gt;

&lt;p&gt;So at the moment, I’m still targeting Java. Do you think I’m wrong?&lt;/p&gt;</description><link>http://www.benjamindasnois.com/post/163520067</link><guid>http://www.benjamindasnois.com/post/163520067</guid><pubDate>Sat, 15 Aug 2009 15:51:00 +0200</pubDate><category>haXe/Java</category><category>Fan</category><category>scala</category><category>languages</category></item><item><title>Why haXe has so much potential (not about syntax and expressiveness)</title><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Nicolas Cannasse has written about &lt;a href="http://ncannasse.fr/blog/the_failure_of_as3" target="_blank"&gt;why Action Script 3 is a failure&lt;/a&gt;, so I’m going to write about why I think haXe has a great potential to become the language of the future.&lt;/p&gt;
&lt;h3 class="subtitle"&gt;haXe is about Web Development&lt;/h3&gt;
&lt;p&gt;Well seriously… Everyone is aware of that, first targets of haXe were Flash, Neko (was mostly used for server-side at the time) and JavaScript. That’s the basic definition of “web development” : develop a web-site and a web-site is composed of three parts :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The server side.&lt;/li&gt;
&lt;li&gt;The Rich client side (Flash)&lt;/li&gt;
&lt;li&gt;The “less rich” client side (JavaScript)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;So, it’s obvious that haXe is made for web-development, since it even has what was needed : Remoting. Flash and JS can communicate with the server very easily, and Flash and JS can communicate together as easily. So everything is there.&lt;/p&gt;
&lt;h3 class="subtitle"&gt;Everything is about Web Development&lt;/h3&gt;
&lt;p&gt;Let’s be honest, nowadays, everything is about the web : most of the applications on your desktop connect to the web or have something to do with the web (even composing a document means that you certainly want to email it or publish it…) and even better : desktop applications are now built using web technologies (think about AIR and Titanium) and this is possible up to a certain point.&lt;/p&gt;
&lt;h3 class="subtitle"&gt;What haXe provides&lt;/h3&gt;
&lt;p&gt;haXe is able to target JS and Flash ; that means it can be used to develop desktop applications easily (by targeting AIR for example). That allows the developer to use one language to develop web-sites and desktop applications with technologies that he knows, and more over, the developer can use the haXe framework to easily make the desktop application communicate with the web-application. And think about it : we are doing more and more mobile applications, and what are their purpose? Allowing us to stay “connected” everywhere. That means that what we have on our computers, on our mobile phones are indeed web-applications, or at least, extensions to web-applications.&lt;/p&gt;
&lt;p&gt;And I guess that’s why haXe (apart from the syntax and all related things) has so much potential : it’s been thought for the web and it is still being thought for it.&lt;/p&gt;</description><link>http://www.benjamindasnois.com/post/158549496</link><guid>http://www.benjamindasnois.com/post/158549496</guid><pubDate>Sat, 08 Aug 2009 15:21:00 +0200</pubDate><category>haXe</category><category>development</category><category>languages</category></item><item><title>I finally implemented Generics!</title><description>&lt;p&gt;Hello everyone,&lt;/p&gt;
&lt;p&gt;I just wanted to write to let you know that the haXe/Java generator (the one used in the haXe on Android video) now supports generics.&lt;/p&gt;
&lt;p&gt;It may seem obvious but that was not that easy to implement.&lt;/p&gt;
&lt;p&gt;haXe supports constraints on generics, but those constraints won’t be written in the generated output.&lt;/p&gt;
&lt;p&gt;I hope there aren’t too many bugs and by the way, I’m getting more confident with OCaml (even though my style may be ugly at the moment!)&lt;/p&gt;
&lt;p&gt;Stay tuned!&lt;/p&gt;</description><link>http://www.benjamindasnois.com/post/151192387</link><guid>http://www.benjamindasnois.com/post/151192387</guid><pubDate>Wed, 29 Jul 2009 02:17:53 +0200</pubDate><category>haXe</category><category>haXe/Java</category><category>development</category></item><item><title>Something cool I’m working on : haXe begins to rule...</title><description>&lt;object width="400" height="336"&gt;&lt;param name="movie" value="http://www.youtube.com/v/reaHsOpzE-Y&amp;rel=0&amp;egm=0&amp;showinfo=0&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/reaHsOpzE-Y&amp;rel=0&amp;egm=0&amp;showinfo=0&amp;fs=1" type="application/x-shockwave-flash" width="400" height="336" allowFullScreen="true" wmode="transparent"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Something cool I’m working on : haXe begins to rule the Android world!&lt;/p&gt;</description><link>http://www.benjamindasnois.com/post/150120105</link><guid>http://www.benjamindasnois.com/post/150120105</guid><pubDate>Mon, 27 Jul 2009 15:30:00 +0200</pubDate><category>haXe</category><category>android</category><category>haXe/Java</category><category>development</category></item><item><title>Just for fun and as a old-school gamer. Mario’s music a...</title><description>&lt;object width="400" height="336"&gt;&lt;param name="movie" value="http://www.youtube.com/v/905voqB9cUw&amp;rel=0&amp;egm=0&amp;showinfo=0&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/905voqB9cUw&amp;rel=0&amp;egm=0&amp;showinfo=0&amp;fs=1" type="application/x-shockwave-flash" width="400" height="336" allowFullScreen="true" wmode="transparent"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Just for fun and as a old-school gamer. Mario’s music a cappella.&lt;/p&gt;</description><link>http://www.benjamindasnois.com/post/149507946</link><guid>http://www.benjamindasnois.com/post/149507946</guid><pubDate>Sun, 26 Jul 2009 17:24:19 +0200</pubDate></item><item><title>MacOSX : An OS designed for development?</title><description>It all began on Twitter.&lt;br /&gt;&#13;
madd0: "Mac OS X is an [OS] designed from the ground up for serious software development work." http://bit.ly/47Z2gu — any comments? I LOLed :P&lt;br /&gt;&#13;
Pignoufou: I think it is. First there's the Framework and the Obj-C VM at the core of the OS. MS is doing the same, just years later!&lt;br /&gt;&#13;
Pignoufou: Then, there's the environment for the dev himself : XCode is pretty good at what it's supposed to do. No less, no more.</description><link>http://www.benjamindasnois.com/post/145636648</link><guid>http://www.benjamindasnois.com/post/145636648</guid><pubDate>Tue, 21 Jul 2009 00:49:26 +0200</pubDate><category>macosx</category><category>development</category></item><item><title>My new webspace.</title><description>&lt;p&gt;Hello and welcome on my new web-space.&lt;/p&gt;
&lt;p&gt;This one is dedicated to all my tech-related stuff. You will mostly find ressources and my thoughts about Open Source, web-development and haXe-related development.&lt;/p&gt;
&lt;p&gt;But at first, I would like to thank Mr. Nicolas Mérouze from &lt;a target="_blank" href="http://www.yeastymobs.com"&gt;Yeasty Mobs&lt;/a&gt; (a french company specialized in consulting for the web and applications development in Ruby) who is managing the benjamindasnois.com domain. You can also find his personnal weblog (updated when he has time) &lt;a target="_blank" href="http://www.boldr.fr"&gt;there&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Stay tuned for more things to come!&lt;/p&gt;</description><link>http://www.benjamindasnois.com/post/144261151</link><guid>http://www.benjamindasnois.com/post/144261151</guid><pubDate>Sat, 18 Jul 2009 20:27:47 +0200</pubDate></item></channel></rss>
