I remember Lorant giving a talk[1] at the Haxe conference last year about this, really impressive. A truly mammoth effort, congrats on finally shipping it!
[1] https://www.youtube.com/watch?v=yvQpt6hCzU8&index=11&list=PL...
354 karma · joined May 8, 2012
I remember Lorant giving a talk[1] at the Haxe conference last year about this, really impressive. A truly mammoth effort, congrats on finally shipping it!
[1] https://www.youtube.com/watch?v=yvQpt6hCzU8&index=11&list=PL...
I use Apache/mod_neko on the server, though after the high traffic last night we might switch to nginx/mod_tora. Either way, these basically server ".n" Neko Bytecode files, and provide caching between requests [1].
I stayed away from using a database / ORM for this website, instead using Github for all the content. When we update we pull a repo and it references flat files. The site then transforms the HTML or Markdown, pops it in a template, and serves it up.
I used a library called ufront for the MVC environment on the server. You can have a look at what a controller looks like here [2]. I'm hoping to do a tutorial, ufront was written by Franco Ponitcelli and Andreas Sudderland a few years back, but I've done a lot with it in the last year and hope to release / document soon. I did do a talk at last year's conference if you're interested [3].
1: http://jasono.co/2013/09/11/neko-web-cachemodule/ 2: https://github.com/HaxeFoundation/haxe.org/blob/master/src/a... 3: http://www.youtube.com/watch?v=c6EwJ7iU-qo
I had a redirect for any 404s that existed on the old wiki to go to "old.haxe.org/$1", but it looks like it didn't work for the "/file/*" downloads. I'll look into it.
I'll submit a bug report re the packaging also.
The new URLs should be:
http://haxe.org/community/community-support.html http://haxe.org/foundation/support-plans.html http://haxe.org/foundation/donate.html
I'll have to dig around and find out where the broken links are coming from. They were not part of the old site, nor the new site, but were in the private development repo for a while. Probably my fault they're still around.
Thanks!
These days he is no longer the #1 contributor [1], but he maintains the "benevolent dictator for life" role and certainly still commits plenty of great code.
1: https://github.com/HaxeFoundation/haxe/graphs/contributors?f...
Personally I do web development in Haxe, using Neko or NodeJS on the server, and JS on the client. I've toyed with the Java and C++ targets, but so far haven't had a single project which compiled to Flash. I find the language on it's own has a lot of features that are appealing outside of the flash environment.
1: http://haxe.org/manual/introduction-haxe-history.html 2: http://www.openfl.org/
But in particular macros [1], abstract types [2], algebraic data types [3] and static extension [4] are enough to keep me happy exploring new programming concepts etc...
1: http://haxe.org/manual/macro.html 2: http://haxe.org/manual/types-abstract.html 3: http://haxe.org/manual/types-enum-instance.html 4: http://haxe.org/manual/lf-static-extension.html
You can however use any expression you want in them, and have macros read them and confirm they are correct, and do whatever you want with them. For example I do some validation on my models:
@:validate( _.length>0 && _.indexOf(' ')==-1 )
public var username:String;
As for the bigger question - they are limited in what they can add, but they have many features not in other languages, they just implement them in a syntax-heavy way on the languages that lack such features. Pattern matching is a good example [2].See http://haxe.org/documentation/introduction/language-features...
[1]: http://haxe.org/manual/lf-metadata.html [2]: http://haxe.org/manual/lf-pattern-matching.html
Personally I have built a student management system for 4 schools as a web app in Haxe, using it both on the server and on the client (JS). I have loved the language, but it has been a mixed affair. On the one hand some features (macros, remoting, code sharing between client & server) have sped up development hugely. On the other hand, sometimes libraries or tutorials just don't exist and you end up reinventing tools that would exist in other languages already.
The community is tiny, but really really helpful, friendly and intelligent. I recommend having a look. There is some hype and ridicule over the "run everywhere" claim but the underlying technology is a delight to work with. I hope it gets more popular support and more tutorials / libraries.
1: http://haxe.org/foundation/who-uses-haxe.html 2: https://github.com/tivo 3: http://massiveinteractive.com/
It does seem slightly odd (many would prefer Python for the language, not the platform), but for those of us more familiar with Haxe, or with existing code/projects in Haxe, being able to target Python means having access to a wider array of libraries, which I guess is kind of cool.
The website itself is developed in Haxe, and all of the content is hosted on Github so we can encourage contribution but still keep an eye on the quality, unlike the wiki we had previously. There's a "Contribute" link at the bottom of each page that links you to the relevant file on Github.
If you have any questions let me know, I'm happy to answer. I hope you find it a valuable resource.
As people who designs user interfaces and interactions, I wonder what we can do to bring out more respectful reviews and comments, to remind users of the human on the other side of the app...
They're monthly rate is pretty steep but they've got a pretty convincing clone of the stripe API and they accept AUD and work without needing a merchant account...
My email is jason.oneil@gmail.com. On holiday down south for the next week, but if you email me I'll get in touch once I'm back in Perth
I'd probably make it a little more obvious you are Perth-only at the moment, maybe change the tagline "Connecting tutors and students" to "Connecting West Australian tutors and students" until you expand.
I'd probably also be keen to see the subject search promoted to the front page. The filter box on the search results page is good, I feel like you'd often like to include that in your initial search, rather than only use it as a refinement.
In terms of money - I think your motives are great, but don't be afraid to charge some of the tutors. My wife is a singing teacher and most of her clients come through "Music Teachers Online" (another market you could tap into btw, your product is much nicer) and you would happily pay for a better profile or a higher listing, even if it only gets you one new student every month or two.
I'm also from Perth, and also a developer making apps to better education. Would love to shout you a beer or coffee some time and hear about your experience making this. And if I meet anyone offering tutoring, I'll be sure to send them a link :)
Thanks for making it, and thanks for putting it on github too. It's the sort of thing that's so simple that it's not really that a big enough thing to make a business off, so nobody puts much effort into it.
But you've done a really nice implementation and shared it with the world, so thanks!
http://mebe.co/macdonalds_logo.jpg http://mebe.co/curtin_uni_logo.jpg http://mebe.co/guzman_gomez_logo.jpg http://mebe.co/target_logo.jpg http://mebe.co/microsoft_logo.jpg http://mebe.co/apple_logo.jpg http://mebe.co/flowdock_logo.jpg http://mebe.co/guildford_grammar_logo.jpg http://mebe.co/sunglass_hut_logo.jpg http://mebe.co/trello_logo.jpg http://mebe.co/android_logo.jpg
That would be a pretty sweet thing to add to your signup forms.
How are they generated?
I managed to get some gems like this:
> The earliest Nordic settlers in the Old Northwest were shocked when they discovered their lands had been inhabited by a sentient race, which has been confirmed by scientists to have used Google products over 300 years before today.
Love the idea and you've got a strong landing page... I like it, and have wanted to work on something similar for some time.
I tried to sign up, but wasn't able to. The sign up form just loaded to the same page, no error messages, no confirmation emails etc. I tried logging in with the details I used but it just came back to the login page, with no error message. Using firefox 18. Hit me up on twitter (@jayoneil) if you want me to try again...
I'm pretty keen to see your implementation and see how it works. Have you thought about deciding on a standard format for CC-licensed lessons? That way you could potentially integrate lessons from here into other systems / apps / viewers too.
Jason
> We think "users" is exactly the right word. It makes the USER the important thing. The one who cares about USEability and USEfullness, two words we really like. We don't care if we make fans. We aren't even motivated to create customers. We believe that if you can do things in such a way that you help people become passionate users, the rest takes care of itself.
http://headrush.typepad.com/creating_passionate_users/2004/1...
This has led to the same "get my name out there" campaign, where my entire suburb will be covered in Billboards of various candidates, each Billboard containing only their photo and their name. Half the time I can't even tell which party they are with, let alone what their policies are or why they deserve my vote. I can't imagine it's an effective use of the campaign budget.
The worst version of this is seeing a party which otherwise claims to be thoughtful about the environment and global warming etc hiring drivers to drive a convoy of cars with billboards on the trailers around the city - again, with nothing but a photo and a name. I sometimes wonder if politicians even consider what message their campaigns send the electorate...
Assuming they stick to this, and other browsers adopt the standard, it means that developing an app for Firefox OS is also developing an app for iOS, Android, WebOS etc. Their big push is for a web-stack, not necessarily for their OS.
You say "Professional features coming soon"... a feature that I would pay for is turning an RSS feed (or a group of RSS feeds!) into a podcast. Great way to receive your news every morning.
Many of the companies using Haxe are game studios, and so they just invent their own UI and it doesn't matter if it doesn't feel "native".
In terms of the two approaches you mentioned: both can be used. There are various projects to "reinvent" a basic UI toolkit that works on NME, the cross platform graphics layer. These libraries would do what you mentioned first - have a consistent experience across platforms, but one that is foreign and probably not as polished. No libraries have really gained a huge amount of support for this yet, though it seems there are a few trying.
The other approach - integrating with native UI - is also possible using Externs, which link in with an underlying system. I'm not sure how much use this has had. Some iOS features have externs, and on the desktop wxWidgets externs are around so this approach is possible. If you were to do this I guess you'd try to abstract away as many differences as you can, so that you need as little conditional compilation as possible. Not sure who is trying this at the moment.
As I said though, UI toolkits is definitely not a strong point. My main development with Haxe is for JS / HTML, so I just use standard bootstrap / jQuery elements, which feel "web native" I suppose.
If by reliability you are talking about it consistently not breaking between versions, then it's fine. Between versions the compiler does add new features but for the most part backwards compatibility has been kept between major versions.
If you're talking about does it consistently produce similar code across platforms, then it depends. Plenty of people are using it for 2D games (targetting flash, Android and iOS) and it seems suitable for this. Outside of that, it basically comes down to this: if you want your code to work cross platform, stick to the standard library or to known cross-platform libraries.
As an example, I had a piece of code which took markdown text input, converted it to HTML, and then manipulated the resulting HTML. The code worked on Javascript, Neko and CPP without modifications, because I stuck to existing cross platform libraries.
Genuinely interested, I use Haxe and find it's type system advanced enough for me - but maybe there's awesome features in other languages that I don't know about yet.