HNHacker News
TopNewBestAskShowJobs

joneil

354 karma · joined May 8, 2012

submissionscomments
joneil··on [dead]
> So we ended up creating our very own text renderer. Just like Flash did 15 years ago.

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

joneil··on New Haxe website
I don't seem to have the ability to edit, and I forgot to reply to the first part of your comment.

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

joneil··on New Haxe website
Thanks, I'll look into it.

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.

joneil··on New Haxe website
Thanks for pointing that out - where were those links from?

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!

joneil··on New Haxe website
Yes, Nicolas Cannasse is still involved. He helped keep the server alive last night ;)

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

joneil··on New Haxe website
There is a history article [1], but essentially, the founding developer made the MTASC AS2 compiler back in the day before making Haxe, and the SWF target (AVM bytecode) was the first target Haxe supported. To this day it remains popular with the 2D games market (ex-flash). The OpenFL [2] framework promises (with mild success) to give you the Flash API with the Haxe language on native targets. So flash still is part of the Haxe community, though less and less it involves the actual Flash Player runtime.

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/

joneil··on New Haxe website
If the curly brackets and semicolons (and lack of short lambdas, which I am still grumpy about) are always going to turn you off, then Haxe might not be promising for you.

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

joneil··on New Haxe website
Out of the box Haxe's metadata[1] to me doesn't appear as powerful as C#'s attributes. The big difference is that they are not type safe and are not type-checked by the compiler.

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

joneil··on New Haxe website
Plenty of game developers are using Haxe in production [1]. Tivo [2] and Massive Interactive [3] are doing some large scale UI work for embedded systems.

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/

joneil··on New Haxe website
I think the honest reason was along the lines of "because I/we can". Many people (myself included) use the Sublime Text Haxe bundle[1], and the plugin is written in Python. Someone started a weekend project to create the Python target so they could rewrite it in Haxe, targeting Python. It got a few contributors on board and suddenly all unit tests were passing.

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.

1: https://github.com/clemos/haxe-sublime-bundle

joneil··on New Haxe website
One of the developers of the new site here. Simon Krajewski did an amazing job writing the manual - it's a great resource and has all the gory technical detail - I'd encourage you to take a look. A number of other people have contributed to content and design (though we'd still like to give the design some more love).

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.

joneil··on Why Indie Developers Go Insane
The review systems on the app stores, and internet comments more generally do have a tenancy to bring out the hate, and the article does a great job of exploring the effects of this.

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

joneil··on Show HN: Tutoring startup in Perth, Australia
For payments, you could check out pin.net.au

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

joneil··on Show HN: Tutoring startup in Perth, Australia
Hey... nice site, and beautiful interface design.

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

joneil··on Show HN: Time-delayed slitscan with webcam
That is so fancy... I'm impressed. Didn't even realise firefox supported webcams yet.
joneil··on Show HN: A better to-do list (based on thedailymuse post)
I really, really like this.

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!

joneil··on Show HN: A URL-based API for images
One thing I can immediately see this being useful for is guessing a companies logo:

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.

joneil··on Show HN: a conspiracy theory generator
Haha, some of them are hilarious. Some more obviously generated than others, but still... good job.

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.

joneil··on Show HN: Open Lessons Library
Hi...

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

joneil··on Show HN: Whatismyzip.com – Built in a few hours on a train while commuting
Nice! Was not expecting it to work internationally, so was pleasantly surprised when my Australian postcode showed up flawlessly. Beautiful design and interaction too, you've really nailed "the best ui is no ui"concept.
joneil··on Jack Dorsey: Let's Reconsider Our "Users"
I don't think it's a big issue. I agree with this blog post from 2004:

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

joneil··on Brazilian judge orders arrest of Google Brazil president
In Australia our politicians seem no more sophisticated. While the leaders of the political parties dominate the media, come election time you only vote for a member in your local area, not the leader you've seen on TV. And at the Ballot Box, the only thing you see is the candidates full name and political party.

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

joneil··on Firefox turns 10 years old today (Phoenix v0.1)
I started using Phoenix at v0.3 and remember just how "new" it felt. At the time I was still running Windows (maybe even 98?) and was experimenting with Linux, but hated the netscape/mozilla options. Phoenix was fast, had tabs, a popup blocker, and no ads (unlike Opera). I was a proud user then, and I think they've done remarkably well given the massive competition from three commercial software giants - I'm still a happy user today. Well done Mozilla.
joneil··on Ubuntu tries to make publication easier for app developers
Ubuntu Software Center doesn't prompt about dependencies... it just goes ahead and installs them. At least that's the default behaviour on 12.04 on my two machines.
joneil··on Another go at the Next Big Language
I haven't used much Scala, but Haxe (haxe.org) sits somewhere between Javascript and Java. I enjoy it, ymmv.
joneil··on Mozilla Wants Hundreds Of Thousands Of Firefox OS Developers
One of the interesting things of Mozilla's approach is that their entire stack is standard HTML (or, it is planned to get it standardised).

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.

joneil··on MP3s of web articles
Very cool idea! Been wondering if something like this exists.

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.

joneil··on Haxe 2.10 - Now with Java and C# targets
The short answer is that Haxe isn't very good here yet.

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.

joneil··on Haxe 2.10 - Now with Java and C# targets
I'm a haxe user. What exactly are you wanting to know?

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.

joneil··on Haxe 2.10 - Now with Java and C# targets
What sort of advanced features are you hoping for?

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.

← PreviousPage 3 of 4Next →