Nuraphone First Impressions

Background
After a rather long wait I finally have an actual set of Nuraphones to experiment with. I’ve seen a ton of feedback filtering in from the lucky few who got their headphones a bit earlier than In did; virtually all of it has been extremely positive.

And that’s all fine, but now I can finally do some quick tests and see for myself if the product lives up to the hype.

My point of comparison will be my old but still serviceable set of V-MODA Crossfades. I’m quite fond of this headset, and feel it does quite well on build quality, comfort, and sound quality/performance. The Crossfades (and their newer variants) retail for a fair bit less than a brand new Nuraphone, so it should be a reasonable if somewhat easy benchmark for the Nuraphones to surpass.

Unboxing
Below are some pictures. I don’t think anything further is required here.

IMG_20171212_131735IMG_20171212_131859IMG_20171212_131957IMG_20171212_132053

Build Quality
The case that comes with the Nuraphones appears well designed and solidly built. It closes with a magnetic clasp, and has a little cubby inside for you to stash your cable (or cables, or other stashables, as the case may be). This appears to be made of the same black silicone/rubber material as the Nuraphone earcups, and attaches to the case using a magnet. So I guess you can swap in alternate color cable-cubbies, if you actually have any. Regardless, the case is quite nice.

The build quality on the headphones themselves seems fine. I don’t think they look quite as stylish as the Crossfades, but that’s pure subjective opinion. The ear cups also don’t notch into place as you adjust them up and down, so maybe it’s a bit easier for them to drift out of alignment than on the V-MODA headset, though I haven’t had any such issues so far.

The thing I’m least a fan of is the black silicone/rubber that’s used on the earcups and along the bottom edge of the headband. I’m a little concerned about how it will hold up over the long run. Or course, the leather accent and (super-comfy) memory-foam headband on the Crossfades is literally disintegrating on me at this point, so it’s not like they’ve got any advantage; even at a theoretical level.

Overall, the build quality is entirely reasonable. Doubly so for a v1 product fresh off kickstarter.

Setup/Calibration
I got to experience some mild panic when I took my freshly unboxed Nuraphones, connected them to their analog cable, and tried to play some music to establish a baseline level of performance. All I got was silence.

Long story short, it appears the headset arrived with a dead battery. I discovered this after switching to the USB-C cable, which allowed them to power on and tell me to charge them. After some time on the charger, it was fairly straightforward to pair them and set up a hearing profile in the app.

I found that my hearing profile was consistent across repeated calibrations (and when I had a second person try, they got a completely different profile that was also consistent across calibration attempts), and that I could get a better (and better-sounding) result by running the calibration process with as little ambient noise as possible. By which I mean turning off fans, air conditioners, whirring laptops, and other sources of background noise before running the calibration.

Apart from having to discover that the headphones needed to be charged via trial and error, the setup process was easy and straightforward. My hearing profile looks like this:

Screenshot_20171213-011129

Test Tracks
I’ve selected a small sampling of test tracks, aiming to get a variety of styles and formats/bitrates under test.

Emptyself – The Open Landscape (FLAC/Lossless)
Fair to Midland – Tall Tales Taste Like Sour Grapes (MP3, 256kbps)
Jethro Tull – Up to Me (FLAC/Lossless)
Dead Letter Circus – The Mile (acoustic; MP3, 303kbps VBR)
Dead Letter Circus – The Mile (electric; MP3, 256 kbps)
Collective Soul – Shine (MP3, 128 kbps)
Live – Lakini’s Juice (FLAC/Lossless)
Jimi Hendrix – All Along the Watchtower (MP3, 207 kbps VBR)

I played through the above tracks first on the Nuraphones, jotting down anything that I felt was new or otherwise noteworthy. Then I repeated the sequence on the Crossfades, paying particular attention to whether or not the same details were discernible.

The goal is to see if (and how frequently) I can replicate other anecdotal reports of hearing completely new sounds (and instruments) when listening on the Nuraphones.

All playback was done using playlister, which does not apply its own EQ or any other effects/modifications to the audio.

General Observations
I won’t force anyone to wade through my detailed notes. Suffice to say, I found 31 “new or otherwise noteworthy” things during the pass with the Nuraphones. On the follow-up pass, I found 10 of those things were sounds that I could hear just as clearly on the Crossfades, 13 were sounds I could subtly or very subtly pick out only after I knew to listen for them, and 8 were sounds that I could not pick at all on the Crossfades despite deliberately listening for them.

Probably the best single example can be found in ‘Up to Me’. On the Nuraphones, it’s clear that there are bells sounding around the 1:20 and 1:50 marks; I’d never noticed this before. With the Crossfades, I can just barely pick out the earlier set of bells (they are far more subtle), and the latter set is almost entirely unnoticeable.

Also worth noting is that at 128 kbps, ‘Shine’ was basically unlistenable on both headsets. It sounded a bit better on the Crossfades (which doesn’t really count in their favor!), but had clearly lost too much detail to be of any value in this test.

In general, the Nuraphones have a broader dynamic range, clearer and more detailed sound, and far superior stereo separation than the Crossfades. I also found that I wasn’t feeling like I needed to increase the volume of the Nuraphones. Quite the contrary, in fact; I found that I could listen at lower volumes without losing any clarity on the audio. For me, this is literally a first!

On the Nuraphones, bass guitar is clear and discernible as being separate from a bass drum. Not so with the Crossfades.

Some aspects of operating the Nuraphones are a little strange. There’s a button on each side that can be programmed with a variety of functions. By default the left button toggles personalization on/off.

However, unless you’re connected via bluetooth, the buttons are nonfunctional. And you can’t connect via bluetooth while using any of the wired connection options. This limitation (not being able to use the button without an active bluetooth connection) seems quite bizarre and unnecessary. Although I find the buttons are very easy to accidentally trigger when adjusting the headset, so perhaps it’s for the best.

You also can’t just plug a fresh set of Nuraphones into a headphone jack and use them like a normal headset; you have to pair them and set up a profile before you can actually listen to anything on them. This is weird, although once you’ve done this you can plug the headphones into any audio source, with or without bluetooth active/enabled, and they’ll work as expected.

Since they won’t work without a charged internal battery, I wish the Nuraphones had a power/charge indicator LED on the headset so that I can easily tell, without a mobile phone or bluetooth, if I’m good to listen or if I need to leave them charging for a bit.

Isolation
The Nuraphones do a very solid job here. They’re not noise-cancelling, but that black silicone/rubber I complained about earlier absolutely excels at blocking external sounds and distractions.

If you’re in a noisy environment like an aircraft, you’ll probably still get some background sound bleeding through. But I’ve used the Crossfades while flying without any problems, and the Nuraphones definitely block out more background noise than the Crossfades.

I’ve also been informed that the Nuraphones don’t leak sound into the room, at least not at comfortable listening levels. Quite the opposite with the Crossfades.

Full marks to the Nuraphone for this category.

Comfort
Have to give the win to the V-MODA here. The Nuraphones aren’t bad, but the earcups do trap a fair bit of heat and the earbud-like tips do cause some mild fatigue after half an hour or so (and I’ve always avoided earbud-style headphones for this reason). It’s not really a level playing field, however, as the headset designs are completely different.

After trying some longer sessions, I’d say that the headset is comfortable enough. For me it’s strictly less comfortable than a purely over-the-ear design like the Crossfades, however.

Sound
In “Generic” mode, the Nuraphones are quite unimpressive. I’ve seen other people claim they’re deliberately unimpressive. I don’t know if that’s true, but to my ears it sounds like in ‘Generic’ mode the headphones are using only the earbud driver and leaving the second, larger driver switched off entirely. The best adjective to describe the sound would be “tinny”. Extremely, annoyingly, intolerably tinny.

But nobody buys a pair of Nuraphones for the ‘Generic’ mode. And in ‘Personalized’ mode they sound much, much better. The audio is smooth and clear, the stereo separation and sound-stage is excellent, the bass is convincing (turn the volume up a bit, and the headphones feel like they want to jump off your head), and there’s plenty of nuance and detail to be heard. I did notice sounds (and entire instruments, and backing vocalists) that I hadn’t noticed before, in any setting.

The difference between ‘Personalized’ mode and ‘Generic’ mode is like night and day. The difference between ‘Personalized’ mode and the Crossfades is less striking, but I’d still definitely give the nod to the (personalized) Nuraphones.

I think the Nuraphones really excel on more acoustic/instrumental tracks and when handling clear, cleanly sung vocals. Tracks with high production quality and lots of studio polish also tend to shine. Which isn’t to say they’re bad at with other genres/tracks; it’s more the difference between “very good” and “awe inspiring”. And lossless, yes, having lossless copies of your tracks is worth it with these headphones.

Overall
These headphones work as advertised and live up to the hype. If you’d consider dropping $400+ on a pair of headphones, the Nuraphone belongs on your list of options.

P.S.
The following link should be good for AU$100 (20%) off a set of Nuraphones, if you decide you want a pair of your own:

http://fbuy.me/hmVMQ

Full disclosure – if six people actually buy a pair of Nuraphones from the link above Nura will send me a free pair. Which I will promptly donate to someone who’ll appreciate them.

Posted in hardware | Tagged , , | 3 Comments

On the 2016 Election

tyrant

What can I say that hasn’t been said already? So I’ll just encourage anyone who’s opposed to the idea of a Donald Trump presidency to join the millions that have already signed this petition:

It may have only a snowball’s chance in hell of actually accomplishing anything, but at least it lets you add your voice to the thunderous chorus of opposition. And not because Hillary won the popular vote. Or because Trump is a racist, a sexist, a self-confessed serial abuser of women, and an all-around abhorrent example of a human being. Those are valid issues, but they’re not what’s important here.

What’s important is that Donald Trump openly campaigned on a platform that falls somewhere in between tyranny and full-blown fascism, with campaign promises that have included (among other things):

  • Jailing political opponents
  • Removing legal protections for free speech and the free press, so that journalists can be sued, silenced, and suppressed
  • Banning a religion
  • Racial profiling and subjecting minorities to police search/frisking without probable cause
  • Forcibly deporting millions of people, many of whom have been living peacefully in the U.S. for years
  • Torturing suspected terrorists
  • Murdering civilians (including women and children) when they have ties to suspected terrorists

And a government that tramples over peoples’ inalienable rights like that is exactly the sort of thing that the founding fathers sought to prevent.

The ideals of the founding fathers were freedom, tolerance, and equal rights and protection for all. Their single greatest fear was institutional tyranny. They established the electoral college as a guard against that possibility. Or, as James Madison put it in the Federalist Papers, to stop “a number of citizens whether amounting to a majority or minority of the whole, who are united and actuated by some common impulse of passion, or of interest, adverse to the rights of other citizens, or to the permanent and aggregate interests of the community” from taking over the government. Sounds a lot like what’s going on with Trump, doesn’t it?

It would be proper for the electoral college to block a Donald Trump presidency. Trump clearly and unequivocally promised to rule as a tyrant if he was elected. The policies he campaigned on and promised to deliver are “adverse to the rights of other citizens” and against the “permanent and aggregate interests of the community”. So yes, sign the petition and see what happens.

And in the meantime: denounce, rebuke and repudiate. Protest (peacefully!). Speak out against racism, intolerance, and baseless fears. Defend those least able to defend themselves. Oppose tyranny in all of its forms.

Posted in banter, editorial, politics | Leave a comment

Blink and You’ve Missed It

Original Publication – August 27, 2015
This is interesting:
iapps_insolvency_notice

Doesn’t seem like it’ll be too much longer now. I seriously doubt the Deputy Commissioner of Taxation plays games.

Original notice here.

Update – October 25, 2015
This is also interesting:

DSC_0020

Looks like they’ll be needing a new office shortly. If they even still exist, that is.

Update – March 5, 2016
The office in Sippy Downs is well and truly abandoned. But according to Google, there’s a new one to be found:

iapps_addr_2016

Let’s see…that’s the Innovation Centre, Mooloolaba, Warana, Maroochydore, Chancellor Park, and now Sippy Downs. That makes 6 locations in as many years; now there’s a fount of stability if ever I’ve seen one! But is anybody home? Here’s what I found at the new iApps office, during business hours, on a weekday:

DSC05421_crop

“Jaz Realty” is certainly an innovative way of spelling “iApps”. And I really like that tree out front. I mean seriously, I want one for my house. But nothing about this scene screams “an ongoing high-tech business concern actually exists here”. Perhaps that’s something for ASIC to look at.

But there is some activity to be found on the ClubsAlive front, as recently as November/December of 2015. They released a new app for Buffs Club, Mount Isa. Unfortunately it looks like they rushed it, as the app is missing basic resources on iOS:

buffs_club_no_assets

…and though the Android version at least has the correct icon, all it does is immediately crash on my phone:

It’s surprising to see a product with such obvious bugs. And downright shocking when basic problems aren’t fixed, some 3+ months after release.

What can I say, other than that I hope Buffs Club hasn’t actually paid any money for this amateurish level of service?

And interesting tidbit; Alive Corporation Pty Ltd (ClubsAlive) has updated their principal place of business. To what, you might wonder? 5/96 Bellflower Road, Sippy Downs. Or in other words, the same building that’s emblazoned with “Jaz Realty”, and that supposedly now serves as iApps HQ. It’s going to be cramped in there!

Update – August 13, 2016
Amateur hour appears to be continuing, with Hervey Bay RSL being its latest victim:

hervey_bay_rsl

What can I say other than “buyer beware”? Be very fucking ware. :grin:

Posted in banter, editorial | Tagged | Leave a comment

An Open Letter to Cory Bernardi

Re: Orwellian Influence in Public Discourse

You should resign from politics immediately, you disgraceful, homophobic bigot.

There, now that I’ve got your attention, let’s get one thing straight right from the start. When someone attacks you because of how you were born, who you love, or any other aspect that you never chose and cannot change, that’s bigotry. When someone attacks you because you choose to go around attacking others over things they never chose and cannot change, that’s not bigotry; it’s fair play.

Refusing to tolerate a bigot is neither intolerance nor bigotry. And freedom of speech doesn’t mean freedom from consequences or criticism. It just means that it’s literally not illegal to express something. I fully support your freedom to hold your views and to openly express them, no matter how wrong and irrational they may be. However when you express a view that’s not based on reason, and do it in a way that’s repeatedly derogatory and harmful to a very large number of people, none of whom have given you any cause to attack them, you can expect to cop plenty of consequences and criticism. Which you can certainly go and have a whinge about on your blog if you like, but it’s not Orwellian, it’s not unjustified, it’s not a suppression of your right to free speech. It’s just you having a whinge.

If you want an example of something Orwellian, you using your political power to tell an unpopular minority that they cannot have the same rights as everybody else, that the law will not permit them to live the lives that they desire, that they will be treated as second class citizens before the powers that be, all because the idea of them having equal treatment under the law makes you personally uncomfortable, that’s fucking Orwellian. State-sponsored repression and state-mandated orthodoxy is Orwellian. The public calling you out for spouting hateful nonsense is not.

But no, I don’t call you a bigot simply because you oppose marriage equality, nor am I saying that opposing same-sex marriage automatically makes somebody a bigot. Neither am I calling you a bigot for choosing to follow Christianity or for choosing to adopt Christian values. Some of the most decent, compassionate people I know do the same (though really, religion is no predictor of character or decency; some of the worst people I know also wear that same hat).

I call you a bigot because instead of choosing to practice what Christ actually preached in the New Testament, such as “love thy neighbor” and “judge not lest ye be judged”, you’ve chosen to push forward with Old Testament dreck about “abominations” and the like. Perhaps you’d also like to revive the Salem witch trials? After all, “though shalt not suffer a witch to live”, right? That’s in the Old Testament too.

I call you a bigot because instead of putting forward any rational arguments to support your side (and let’s be honest, there aren’t any; even your recent conceit about historical tradition is nonsense, as the Marriage Act was only passed in 1961, and has only defined marriage as being between a man and a woman since 2004) you choose to simply vilify and demonize an already unpopular minority while simultaneously abusing your political power (and Malcolm Turnbull’s tenuous grip on the Prime Ministership) to single-mindedly dismantle programs designed to help them cope.

I saw your same-sex marriage debate with Penny Wong. Your performance was underwhelming, to say the least. And Ms. Wong showed remarkable restraint in not simply dismissing your arguments as the hateful commentary of a bigoted man. Frankly, I was quite disappointed that Wong chose to stick to the high ground rather than giving you the thrashing you so rightly deserved, though I can understand her motives for doing so; she’s actually got skin in this game, she still has to sit and wait while the rest of us weigh in on her rights, she has to show respect and deference to those that would vilify her just for having been born. But I don’t have any skin in this game, and as such, I can tell it like it is.

Assertions that gay couples are unfit to raise children have been thoroughly rebuked in study after study (and besides, gay couples are already raising children and will continue to do so whether or not they can legally marry), and certainly tend to indicate a strong case of homophobia. Implying in any way that same-sex relationships somehow lead to bestiality, pedophilia, incest, polygamy, or similar things is just as nonsensical, just as completely unsupported by any sort of evidence whatsoever, definitely homophobic, certainly bigoted as well, and incredibly disrespectful and harmful to a segment of our society that has had to put up with disrespect and harm for far too long already. So I call you a bigot (and a homophobe) for saying those things, too.

In short, I call you a bigot because it’s the mantle that you’ve chosen for yourself. If you don’t like it, you’re free to choose to stop wearing it at any time.

And I call you a disgrace because…well, the reasons for that one are as numerous as they are obvious. The fact that we may well end up wasting $160+ million to hold a farcical, nonbinding plebiscite to appease tools such as yourself who will probably still vote against same-sex marriage even after the farcical, nonbinding plebiscite passes is nothing short of appalling.

You are a homophobe, a bigot, and a disgrace to your elected office. You have no business being in politics, and if/when our paths cross I will happily tell you so every single time.

I fully encourage every other decent Australian to do the same.

Posted in banter, editorial | Tagged | Leave a comment

So where are they now?

I don’t keep in regular contact with iApps Pty Ltd or its current employees. For obvious reasons, I’m generally not on speaking terms with that organization. When I must speak with them, I try to keep things as terse, matter-of-fact, and non-conversational as possible. However, there are a few interesting things that I’ve seen pass through public records and other publicly accessible sources of information.

Mandra/iHerd

According to public ASIC filings, all shares in Mandra IT Pty Ltd were acquired by a company formed in Hong Kong by the name of Mandra Limited in September of 2014. This would seem to imply that AgSuite/iHerd, a software product iApps developed for Mandra IT, has transferred to this offshore entity.

iApps Pty Ltd was a major shareholder in Mandra IT, and shortly before the acquisition took place its shareholding was adjusted slightly so that iApps was left holding the same number of shares as Calliope Cattle, the other major shareholder in Mandra IT.

More interestingly, and also shortly before the acquisition took place, iApps Pty Ltd distributed all of its shares in Mandra IT to its two co-founders at an 85%/15% split. Mandra Limited then appears to have acquired all outstanding shares in Mandra IT for a total amount of just under $500,000. ASIC records do not indicate any other iApps employee receiving shares in Mandra IT prior to this event.

An iApps co-founder once asserted to me, after I had left the company, that their intent had always been and remained to build an organization where everyone was a stakeholder, and that every stakeholder in iApps “vicariously” held shares in businesses that iApps held shares in such as Mandra IT. I said I found that hard to believe, as from what I could see it looked like the company was being set up so that only two people would benefit.

I think these ASIC filings have some relevance to that past discussion. If the intent was really for everyone to be a stakeholder, then everyone would have gotten a tranche of Mandra IT shares before they were all acquired. The ASIC records certainly don’t show any evidence of a “vicarious” shareholding by any iApps employee, apart from the company’s two co-founders.

Of passing interest is the user-adoption rate for iHerd claimed in various places, and variably reported as 30,000 users (on May 2014), 35,000 users (on Sep 2014 or earlier), or 40,000 users (on Dec 2014 or earlier). However, the number of registered iHerd users is closer to 23,000 (on 14 Dec 2014).

I-On Plan

Social media updates indicate that iApps Pty Ltd, or at least its co-founders, had dealings with a business called I-On Plan (formerly known as I-On Risk). This company recently began marketing the product shown below:

Pretty slick. And also strikingly similar to a product that iApps Pty Ltd developed for MLC in 2011/2012:

    • http://mobileawards.com.au/MA2012/entry_details.asp?ID=10605&Category_ID=4817

The resemblance is undeniable. Here are some side-by-side comparisons created from publicly available resources:

mlc_ion_1_dashboard

mlc_ion_2_entity

mlc_ion_2_entity_2

mlc_ion_assets_liabilities

mlc_ion_assets_liabilities_2

mlc_ion_estate_plan

mlc_ion_estate_plan_2

I will request clarification on this matter from the stakeholders involved, and report an update here if any news is forthcoming.

Also interesting is that until relatively recently iApps had a ‘testimonial’ on their website for MLC Succession:

mlc_iapps_google_search_results_4-Dec-2014

The testimonial has, however, been removed:

mlc_iapps_testimonial_removed_4-Dec-2014

I can’t say why it’s been removed, though ‘routine spring-cleaning’ doesn’t seem like a plausible explanation given that iApps appears to be somewhat lax in that area. They are (as of 2/1/2015; see Update 1 below), after all, still advertising their old Maroochydore address despite having relocated to Sippy Downs around June 2014. Hell, they’re even still advertising me as their chief architect (or were, until around mid-June 2015; see Update 2 below). I haven’t worked there in over a year, and neither have several of the other people listed on that page. But Google for ‘iApps team‘ and that’s the first result you’ll get.

P.S. iApps, please do not refer to me in any context that implies I’m currently employed there. That implication is untrue, and all things considered I definitely don’t think my reputation benefits by having that implication perpetuated. So please remove my details from your list of staff members, or edit the entry to make it clear that I haven’t worked there since 2013.

Update 1: iApps appears to have corrected that old address, on or around 5/1/2015. So at least they’re paying attention. But they’re still promoting me as their chief architect, and I’m still waiting on that acknowledgement/apology/retraction I asked for earlier.

Update 2: As of 18/6/2015 that “iApps Team” page appears to have been taken down. It was likely taken down at least a few weeks beforehand, as the page had also expired from Google’s index by that time. So that makes two out of three. Perhaps that acknowledgement/apology/retraction isn’t so far-fetched, though I’m still not going to be holding my breath over it.

Clubs Alive

According to public records, iApps Pty Ltd is now a 50/50 joint shareholder in Alive Corporation Pty Ltd, the corporate entity behind Clubs Alive. iApps received an increased shareholding in this company in mid/late September 2014, shortly after the Mandra IT acquisition.

In any case, Alive Corporation held will hold a $10,000 giveaway/lottery to promote their platform and encourage users to log into their various published mobile apps in December 2014 May 2015.

So it would seem as though Clubs Alive is doing at least passably well. And with the acquisition of the Mandra IT shares, it may be the strongest asset that iApps Pty Ltd is still a stakeholder in.

Edit: Or so I thought. However, the lottery drawing has been rescheduled from December 2014 to May 2015 due to “technical difficulties”. Is it of any import? Your guess is as good as mine.

Posted in banter, editorial | Tagged | 1 Comment

Cleaning Out My Closet – My Last Days at iApps

Introduction

For anyone stumbling across this, I was employed as a senior-level Software Architect at iApps Pty Ltd from November 2010 to October 2013. By the time I left, I had climbed to ‘Chief Architect‘ status. And it’s time for the truth surrounding my departure from this company to be heard.

Let it be known that all of the information presented here is factual, and that I can prove every single statement made. Further let it be known that I am providing this information not with malicious intent, but to protect my own reputation and to clear up any inaccurate or incomplete tellings of this story that may have been circulated. If my reputation is to be tarnished, then let it be tarnished by nothing but truth.

And to my former employer, I say the following: Everything on this page is true, and you know it. If you genuinely feel otherwise, by all means feel free to skip the threatening letters and head straight to the courts to commence proceedings against me for defamation. But remember, it’s not defamation if it’s true. It’s not even defamation if it’s mostly true. Also remember that I’m still standing strong, unscathed, on the side of truth, transparency, and fairness. These are my principles; I will fight to defend them. All things considered, I think you’d be best off publicly acknowledging your past mistakes, expressing contrition for them, and taking your lumps. There’s a comments section below you may use for this purpose if you’re so inclined. But that’s entirely your decision.

The facts of the matter

This will be a bit dry and boring. As noted, I am simply stating the documented, provable facts of the situation; not providing a narrative. I invite you to color in your own narrative to go along with the facts as you read. Anyways:

  1. On or around 22 November 2010 I commenced employment at iApps Pty Ltd as a senior-level IT professional.
  2. The Professional Employees Award specifies the minimum terms of my employment with iApps Pty Ltd, although I was unaware of this at the time (having just migrated to Australia in September 2010, and not possessing any familiarity with the local employment laws).
  3. The salary I was offered was substantially below the minimum wage for my position. Again I did not discover this until much later. At the time, I knew the offer was low, but not below-minimum-wage low.
  4. I was told on multiple occasions, both before and after commencing employment with iApps Pty Ltd, that I would receive shareholding in the company. This enticement was a critical factor in my decision to accept iApps Pty Ltd’s offer of employment, and is commonplace when dealing with startup companies. Startups usually provide early or important employees with generous amounts of equity to compensate for the difference between an employee’s salary and their market rate.
  5. No written document regarding my shareholding in iApps Pty Ltd was ever presented to me, nor were any specific details (allocation, vesting, cliff, etc.) ever clarified. Though I did ask for these things. Repeatedly.
  6. Over the course of my employment, iApps Pty Ltd often expected myself and other employees to put in uncompensated overtime.
  7. Although both the Professional Employees Award and the iApps employment contract required annual (or more frequent) reviews, no such reviews took place. One manager did attempt employee reviews, but her efforts were disregarded by higher-level management. This becomes relevant later on, around point #30.
  8. On 4 October 2013 management issued a directive requiring all employees to take 12 annual leave days to cover a shutdown from 16/12/2013 to 3/1/2014 (inclusive); the directive required anyone with less than 12 days accrued to take the time as unpaid leave. For me, this was essentially the last straw.
  9. I started researching Australian employment law and discovered that Fair Work guidelines don’t allow mandatory unpaid leave unless expressly permitted by an award contract. I notified iApps Pty Ltd, and the directive was modified.
  10. I continued my research to determine what an “award contract” is, and finally discovered the Professional Employees Award and determined that it applied to me. I was shocked, and then appalled, to say the least.
  11. From the Professional Employees Award I worked out that I had been underpaid since commencing my employment with iApps, and not by any small amount.
  12. On 15 October 2013 I informed iApps management of the underpayment, and included a claim for repayment of the underpaid wages.
  13. Also on the same day, I informed other similarly-classed employees of the Professional Employees Award so that they could check their own records. I requested that they temporarily refrain from submitting their own claims so that I could take the worst of the fallout from management. However, another employee had also been significantly underpaid and chose to submit his own claim.
  14. On 16 October 2013, I was called into a meeting with iApps management. I requested the presence of the other employee who had submitted a claim. That request was denied, and I attended the meeting, in a small room, behind a closed door, with myself and three iApps managers. The other employee was eventually brought into the meeting, after a couple of hours.
  15. iApps management professed a general unfamiliarity with the Professional Employees Award and Fair Work policies.
  16. In relation to the above; the employment contract I signed in 2010 makes reference to “the Fair Work Act 2009″ and an “associated Modern Award”. It does not specifically identify the Professional Employees Award.
  17. In relation to the above; the employment contract I signed in 2010 included a section titled “Schedule 2 – Fair Work Australia Information Statement”. The entire content of this section is “See attachment.”. I do not recall if any such attachment was provided to me.
  18. In relation to the above; on 13 December 2012, a prospective employee sent to iApps management an e-mail that included the Professional Employees Award as an attachment, and a detailed discussion of its relevance. The initial offer from iApps to this employee included a salary component that was significantly below the minimum award rate. This prospect was hired and was paid the required wage.
  19. iApps management attempted to convince me that I had violated company confidentiality policies by informing other employees of the Professional Employees Award (note that the award requires that copies of the award be made available to employees) and engaging in discussions about compensation.
  20. Ultimately, both myself and the other employee were given the same ultimatum; we could 1) retract our claims, or 2) agree that we would accept equity in the company (the same equity that had already been promised to us by iApps, and still not delivered or even properly specified) in lieu of the wages claimed; and in either case continuing to work for below the legal minimum wage. If we did not agree to either of those options, management stated that they would immediately liquidate the company and that we would receive nothing. We were given until the next morning to decide.
  21. I took the subsequent day off to seek legal advice, conduct further research, and evaluate my options. The other employee involved did the same.
  22. I returned to the office on 18 October 2013, and was directed to attend another meeting with the same three iApps managers. I requested the presence of the other impacted employee, but the request was again denied. I was threatened with summary dismissal if I did not attend without him. I attended the meeting.
  23. iApps management did not discuss the ultimatum that had been issued or ask if I accepted (though I would not have). Instead I was declared redundant on 18 October 2013 and asked to work out my notice period.
  24. In relation to the above; while in the process of declaring me redundant iApps management stated that there was “no redundancy” for the skillset I possessed.
  25. In relation to the above; on 16 October 2013 iApps management had also stated that there was “no redundancy” for myself or my skillset.
  26. In relation to the above; iApps was actively advertising for candidates with a similar skillset at the time, and did continue advertising and performing interviews after my departure.
  27. As part of my redundancy, I was asked to accept an offer to repay an unspecified amount of underpaid wages in small monthly installments. iApps claimed it would need “weeks” to determine the actual amount owed. I did not accept this offer, and we continued discussing terms.
  28. In relation to the above; I had an HR professional review the facts surrounding my employment and compose a spreadsheet detailing the underpayments, the total amount underpaid, and how that amount was calculated. I provided this spreadsheet to iApps to speed the process along. iApps did not use it.
  29. iApps management asserted that in seeking to recover the underpaid wages I was “cashing out” the shareholding that had been promised to me, and that I would therefore not receive any shares. I did not accept this assertion.
  30. iApps management asserted that my position in the company was that of “Software Developer” and not “Chief Architect”. I did not accept this assertion, took it as a personal affront, and demanded an apology.
  31. Although I continued working at iApps Pty Ltd for two weeks after alerting them of my underpayment, the wages I received on 25 October 2013 (and the entitlements paid out thereafter) showed that no adjustments had been made to raise my salary.
  32. Due to the above issues and other assertions that caused me to believe that iApps was not negotiating in good faith, on 29 October 2013 I informed iApps that I found their latest offer unacceptable, that I considered their actions a fundamental breach of my employment contract and held the agreement “null and void” (though probably “repudiated and terminated” is the correct parlance), and that I would bring the matter before Fair Work Australia. I then walked out of that office, and never returned.
  33. I proceeded shortly thereafter to initiate proceedings with the Fair Work Commission, citing the circumstances surrounding my redundancy, the manner in which iApps management had handled our dispute, multiple violations of the terms of the Professional Employees Award (minimum wage and uncompensated overtime, among others), and the nonexistent shareholding.
  34. As part of the above proceedings, I expressed concern that two other iApps Pty Ltd employees (other than the employee who had also submitted his own claim) might also be underpaid. Both were eventually dismissed, one within hours of when I raised my concerns.
  35. On 5 November 2013, I received a nice letter (page 1, page 2, page 3) from iApps Pty Ltd alleging some $200,000 in damages for claims that were primarily inaccurate or overstated. My response was essentially “Bring it”, but in far more words than that. iApps did not bring it.
  36. We went before the Fair Work Commission:
     
    1410796_568482270911_1543733540_o

    And we came to terms (Addendum 1: Covered Software). Terms that iApps Pty Ltd would ultimately breach.

  37. iApps Pty Ltd failed to pay the final installment that was due on 30 November 2014.
  38. On 4 December 2014 I advised iApps that I had not received payment (and received no reply).
  39. On 5 December 2014, I again advised iApps that I had not received payment (and received no reply).
  40. iApps Pty Ltd failed to remedy their non-payment within the 7 days allowed by our settlement terms.
  41. On 11 December 2014 I notified iApps Pty Ltd that I acknowledged their repudiation of the deed of settlement, was executing my Common Law right to terminate the agreement, and holding any ongoing obligations that it may have placed upon me as at an end.
  42. In relation to the above; on 11 December 2014 I did not refer to the previous attempts at providing notice. However, I shortly received a response from iApps management insisting that they had had e-mail problems and that this was the first message they had received from me on the subject, and chastising me for not calling them instead. I maintained my termination of the settlement.
  43. In relation to the above; on 29 October 2013 I had advised iApps management that I would only communicate with them in writing, by e-mail. At no point did I retract or modify this.
  44. In our subsequent discussions on the matter, iApps agreed to undertake repayment of the amount outstanding, owed as damages stemming from their repudiation of the settlement and its termination, and did submit payment.
  45. I do not personally seek anything further from iApps Pty Ltd, other than perhaps a public acknowledgement of the above facts, an equally public apology for them, and a public retraction of any disparaging remarks made about me or my colleagues to my current employer or to anybody else in 2013 or at any time thereafter.
  46. Australia has very awesome workplace laws, entitlements, and protections. And unfortunately it does need to have those things thanks to employers who think they can do the wrong thing and get away with it. That’s not a fact but my honest opinion, stated on a matter of public policy/interest. Workplace protections are important. The Fair Work Act 2009 and the various Award contracts are good things, and should never be undermined.

Response

Now, to respond to the allegations leveled against me in that letter (page 1, page 2, page 3) I received. I was held harmless for anything and everything alleged in there, but still. Let’s finish setting the record straight.

Yes, I did seek (and attain) employment with a former client of the company. This occurred after iApps delivered its ultimatum, making it abundantly clear that iApps either could not or would not honor the minimum terms of my employment contract. Why should I then show any further consideration towards an agreement that the other side was clearly unwilling or unable to uphold? Because they got me to sign a piece of paper using promises of a shareholding that was never delivered? Both of those questions are rhetorical.

Yes, I did walk out on the 29th of October, 2013. As clause 13.3 of the Professional Employees Award gives me every right to do when declared redundant. And which I likely was entitled to do regardless, as iApps wasn’t meeting the terms of my employment contract and had demonstrated a clear and persistent unwillingness to do so. The 29th is also my wedding anniversary, so now I have two things to celebrate on that day.

I did contact IBM/Avnet, but only to inform that them I was no longer employed at iApps and to request that they remove the association with iApps Pty Ltd from my personal profile in their system. If iApps’s reputation was damaged by the fact that I didn’t work there anymore…then maybe they shouldn’t have tried so hard to drive me away.

And I did erase my personal information from my workstation. Think things like Internet cookies/persistent logins, stored passwords to e-mail accounts and websites, chat logs, locally cached e-mails, browser history, and the like. All things that are of no value to my former employer, and all things that they have no business using before or after my departure. All of the actual work I did was checked in to SVN, and I did nothing to harm it. My conduct was professional, up until the very end.

However, I did leave behind a nice custom wallpaper, and configure the machine to play some awesome music at login. And to run a script that would set the playback volume to an enjoyable level while simultaneously disabling the system volume controls. It was all good clean fun, caused no harm to the computer, and would take any halfway experienced system admin no more than a couple of minutes to disable. I understand it caused a welcome distraction:

14173_566873130641_1818653677_n

Anyways, back on topic.

No, I did not make “spurious” statements and allegations about iApps to damage their reputation or business. I said nothing untrue, and only discussed my situation in the context of seeking advice and evidence, protecting myself and my colleague(s) from the aggressive and intimidating tactics being used against us, and asserting my rights under Australian law. And besides, wanting to have a good reputation doesn’t mean you can do shady things and then assert that nobody can talk about them because they’re shady and will make you look bad. That’s absurd.

And $200,000 in damages? Fat chance. Though after three years on an iApps-level salary, that’s probably about how much income I missed out on while I was foolishly waiting around for them to make good on their promises of shareholding in the company. I ran my finances backwards waiting on iApps, and when I’d finally had as much as I could stand and demanded nothing more than what I had been promised and was legally entitled to, all they did was try to throw me under the bus.

Consequences

A number of things fall away as a natural consequence of iApps’s repudiation of our settlement and its subsequent termination by my choice (or to use the legal parlance, by my acceptance of their repudiation). Most important among these various things being terms clause 6, which shrouded all of the above events in secrecy, and terms clause 5, which was so broadly constructed that it made it nearly impossible for me to say anything at all about iApps Pty Ltd, ever.

The value of free speech and the right to free expression should never be discounted lightly. Free speech is important. Free speech is what keeps the tyrants in this world at bay. Without it, we are lost.

I miscalculated gravely when I signed away my right to speak freely. And it feels ever so good to have it back.

:)

Acknowledgements

To those current and former iApps staff members who assisted me in gathering evidence and building my case, I thank you.

You helped me stand up to an adversary intent on ruining me, and an adversary who likely did their level best to bully and intimidate you as well; your support is appreciated and shall not be forgotten.

In closing

Now I don’t usually go for rap, but considering the circumstances I feel this is unavoidably obligatory. Set the volume on your speakers to ‘righteous’, and enjoy:


What hurts me the most is you won’t admit you [were] wrong.

 

Posted in banter, editorial | Tagged , | 2 Comments

It is quiet

It is quiet in the beginning.
Salt hangs on the air
and makes it thick.
Somewhere, a lone gull
rides the tide out to sea while
a long-haired man sighs
under the weight of sleep,
turns on his pillow
and dreams of his wife
picking roses.
The clouds gather themselves
into soft mountains over the grey field
of dawn,
swell with breath, swell
with the promise of birds,
fold over and grow
higher still.

Without warning, the fire.
Not a soft glow, but a blaze
hungry for everything—the man
the gull, the soft flesh
of their dreams.
The sun shoulders the horizon,
lifts the sky from the water
and for the longest moment of every day
the flames swallow everything.
In the wide heat
the clouds are extinguished
and it is as if they were never there
at all.

It is true that nothing burns forever.
Carefully, the morning
raises its head,
begins again.
The waves assemble
one by one
one after another
in long lines down the beach
nearly as long as the day itself.
The air fills
with the shrill call of sandpipers
pulling their breakfast from the ground
with stout bills;
with the silver rustle of women
shaking the night
from their hair;
with the first metal cough
of cars turning on
tires spitting dust.

Soon enough
the sounds overlap like translucent scales
and they are carried on the wind
past dunes and dry grasses
to the hills
where rocks wear their faces like old men.
Soon enough, no one remembers
the towering flames of morning
the hot breath at their shuttered windows.
Soon enough
the afternoon stretches its coiled muscle
and settles into its skin like a seed
in its paper cocoon
dangling there like some secret
while the sea goes to work
on the soft edge of the earth.

And it goes on like this.

And the surf rushes the shore
even after the sun has gone,
and the sand,
cool and wet below the hedgerows of seaweed
and perfect crescent moon shells, knows
that nothing has changed
and everything is different
and there is a man with long black hair
whose wife is barefoot in their garden
and the breath that fills them both is the same
breath that fills the clouds,
only the man and the woman cannot be
extinguished every morning
when the sky turns to fire
and burns everything
but what is held between them.

— Jessica Roth

It is quiet, but not for long.

Posted in Uncategorized | 2 Comments

Ultimaker 2 Tips an Tricks

3d printing is a delicate affair. It relies upon very precisely controlling at least a dozen different variables. When everything is in perfect balance, awesome things can happen:

But allow even one parameter to drift too far out of line, and all you’re likely to end up with is a tangled mess of plastic:

Here are a few things that I’ve found can help at avoiding the tangled mess of plastic:

Glue – Use it sparingly, if at all

The Ultimaker manual recommends applying a thin layer of glue to the buildplate before starting a print. And yes, glue can help your print stick to the buildplate better, and it can be used to compensate for minor buildplate leveling issues that can’t be corrected in any other way.

The problem with glue is that it seems to accelerate the rate at which residue accumulates inside of the Ultimaker’s nozzle, leading to more frequent clogs and extrusion issues. It can also cause parts to stick too well, making removal a pain. In most cases, glue is completely unnecessary:

That part was printed directly onto the glass buildplate, and despite the very small contact area it stuck to the buildplate for the duration of the print. If you’ve leveled your buildplate properly, you should have no problems printing small and medium-sized parts directly on the glass.

For larger prints that make contact with large swaths of the buildplate, a small amount of glue can be useful in dealing with any minor adhesion issues that you encounter. I recommend printing the first few layers, then checking to see if there are any spots where the filament has come unstuck from the buildplate, and canceling the print, applying a small amount of glue just to the problem areas, and then restarting (or if you check and find no problem areas, just let the print run with no glue at all!).

If you see a large number of problem areas when starting a larger print, it’s better to relevel your buildplate than it is to try and solve the problem by covering the entire thing in glue.

Buildplate Leveling – The third screw

When leveling the buildplate, the wizard will point out the two front screws that you can turn to fine-tune your level. What it won’t tell you is that there’s actually a third screw you can adjust, as well. This screw is located underneath the build plate and towards the back (and in the center).

This screw adjusts the rear-center height, and can be very useful if you’ve just reassembled your printhead and now find that you can’t level things properly because one notch of height adjustment (through the printer’s wizard interface) moves from ‘a bit too low’ to ‘a bit too high’. By turning the third screw, you can dial in the middle ground between ‘a bit too low’ and ‘a bit too high’ and get your buildplate leveled correctly.

Oh, and since it’s not immediately obvious what affect adjusting the screws has, tightening a buildplate screw will lower the glass plate and increase the distance between the nozzle and the glass. Loosening will have the opposite effect.

Buildplate Leveling – The wizard only works once

The wizard that walks you through the buildplate leveling process is helpful; but only until your first successful leveling attempt. The problem is that the wizard will tell you to adjust the buildplate screws in order to level it out. But if you’ve already done this (and confirmed the result) then your buildplate is level and playing with the screws will only make it worse!

Once you’ve successfully leveled your buildplate the first time, it’s not going to drift out of level and the only thing you should ever need to adjust again is its offset height relative to the printhead. That’s the first and the fourth step in the leveling wizard and something you’ll want to do if/when you disassemble and reassemble your printhead, as the nozzle height is likely to change slightly when you do so.

So if your buildplate is already level, and you need to adjust the height using the leveling wizard, the only thing you want to worry about is step 1 (or step 4). The other steps you should just click through without touching anything. If you find you need to adjust the third screw in order to dial in the correct height, you should also adjust the other two screws by exactly the same amount to ensure that everything stays nice and level.

And in terms of getting to your first successful level, the wizard’s suggestion of using a piece of paper will get you pretty close. But the best way I’ve found to fine-tune things further is to start printing a large object and adjust the buildplate screws as the first layer is printing.

If you notice that the first layer seems too thin in some areas, then you’ll want to tighten the nearest buildplate screw to lower the glass a bit. And if you notice that parts of the first layer are too thick and/or not sticking to the buildplate, then you should loosen the nearest buildplate screw to raise the glass in that area.

The Nozzle – Clean it often

When printing residue can build up in the nozzle, resulting in underextrusion and clogs if left unchecked. And residue buildup can be difficult or impossible to actually see, as even if the nozzle itself seems clear there can still be enough residue stuck around the sides to cause problems with a print. This can complicate troubleshooting, as a number of other issues can cause the same sort of problems with a print making it all too easy to blame a different component for a problem that’s actually being caused by a dirty nozzle.

So it’s best to take a few minutes to clean out the nozzle every once in awhile. For instance, when changing filaments or whenever else you decide to remove the filament from the printer. The best way to clean the nozzle is to follow the steps described in the following PDF document:

https://www.ultimaker.com/spree/uploads/113/original/Ultimaker_2_Atomic_Method.pdf

Once you’ve gotten used to it, it should only take a few minutes to step through the cleaning process, and you’ll have ruled out a common but hard-to-spot cause of printing issues.

Hardware – The stock parts are good enough…

…good enough for printing better parts for your Ultimaker.

Seriously, there’s nothing wrong with the Ultimaker 2’s stock parts, but other people have been designing and sharing alternative versions that work better in most cases. For example, I’m currently using:

With that setup, I get better prints, easier maintenance/troubleshooting, and more flexibility than what’s offered by the Ultimaker 2’s stock hardware. If you get a printer like the Ultimaker 2, one of the first things to do with it is print out some better replacement parts for it.

And whenever printing replacement parts out of plastic, always keep a second copy on hand in case the first one breaks, or has a run-in with the hot nozzle and melts, or whatever. Having a spare always available is worth the few hours that it takes to print.

Tuning – Extrusion rate isn’t everything

There’s a test print you can do to measure your printer’s extrusion rate. Despite much of the discussion surrounding the subject, however, there’s a lots more to getting a good print than optimizing the extrusion rate.

With the right parts, it’s actually fairly easy to get a successful extrusion-rate test. You can just dial down the tension on the feeder to the point where it will never skip backwards, and blow through perfect print after perfect print of the extrusion test. And then try to print an actual object that requires some retraction, and watch how fast your printer sands down the filament and jams.

What I’ve found is that better results can be achieved by tuning the printer to the speed you’ll actually be printing at. The extrusion test goes up to 10mm3/sec, but unless you’re printing very low-quality, high-speed parts then you’re not going to come close to that extrusion rate in practice. I personally never print above about 5-6mm3/sec, and find that I get the best results by increasing the feeder tension until the extrusion test fails around the 7-8mm3/sec mark.

That gives adequate extrusion for my prints, and also helps to ensure that the filament doesn’t just get sanded down to nothing on prints that make heavy use of retraction. It pays to work out what extrusion rate you actually need, and then tune your printer to that amount instead of just trying to tune for the highest possible extrusion rate. A successful 3d print requires more than just extruding plastic as fast as possible.

Printing – Use your ears

The Ultimaker 2 is a very quiet printer when everything is working well. And when it’s not working well, you can usually hear it.

The most common issue is underextrusion during a print, which can usually be heard in the form of loud and distinct ticking sounds from the feeder. An occasional tick isn’t usually a problem, but if you’re getting multiple loud ticks in a row it’s time to intervene if you want you print to succeed.

If you’re fortunate, the cause of the issue will be something simple, like a snag on your filament spool. Usually unspooling a bit of filament to get past the snag will solve this issue. If the ticking has gone on for awhile, however, you may find that you filament has been ground down/deformed a bit (especially if your feeder is tuned too aggressively).

If the deformation isn’t too severe, you may be able to clear the issue by gently pushing the filament through the feeder until the deformed bit is past the feeder wheel (and blowing/brushing off any filament dust that’s accumulated within the feeder). If you’re unable to do that, then you’ll likely have to cancel and restart the print.

In any case, if you’re attentive to the sounds your printer is making, you can generally catch underextrusion issues early enough to fix the problem and rescue the print.

Maintenance – User serviceable parts inside

The Ultimaker 2 is entirely open-source, and designed so that the end-user can repair, maintain, and modify it easily. Don’t be afraid to take it apart, modify it, and put it back together. As complicated as it can be to get all the variables lined up for a successful print, the machine itself is quite robust. You can’t really break it unless you try.

Which is good, because otherwise I’d probably have broken mine a few times over by now.

And yes, you can drag the printhead around to get better access at the parts on it. Just make sure you turn the printer off first! It will stay where you left it when you turn the printer back on.

Should all else fail, there’s also a very supportive user community that will help you sort out any issues you come across. Just pop in with a picture or two, and wait for the free advice to start rolling in.

Posted in banter, editorial | Tagged , , | 7 Comments

Ultimaker 2 – First week and initial impressions

Long story short, I decided it was time to pick up a 3d printer. I’m not normally one to jump on the bandwagon or become an early adopter for the sake of being an early adopter, but I’ve heard enough on the subject to be convinced that 3d printing is not just another fad. It’s legitimately useful, and developed to the point where it’s not unreasonable to start getting involved.

So after several days of research I decided that I’d order an Ultimaker 2, straight from the Netherlands. I very nearly got a Form 1+ as I think that stereolithography is a vastly superior approach when compared to FDM. Ultimately, however, I was left with too many reasons stacked up against the Form 1+ (and of course, the frequent positive reviews of the Ultimaker didn’t hurt, either):

  • Multiple reports from early users showing poor printer accuracy.
  • Smaller build volume compared to the Ultimaker (and most other 3d printers).
  • A time-consuming, messy, and smelly finishing process.
  • Proprietary design with no/few user-serviceable parts inside.
  • Very costly resin.
  • Shipping logistics and costs with getting the printer to Australia.
  • A slightly higher base cost.

That first point was actually a huge issue for me (what good is a 3d printer if it can’t print, accurately, in 3d?). I even contacted FormLabs Support to see if perhaps the Form 1+ had solved the accuracy issues and what their official calibration tolerances were when shipping a printer. Unfortunately all they could tell me was that the Form 1+ would be “more accurate” than the Form 1, and that they did not yet have any formally established tolerances as far as printer accuracy is concerned. That’s just not good enough. So an Ultimaker 2 is was.

The printer arrived last week, and I’m fairly impressed with it so far. It’s very easy to use, and comes with everything you need to get started.

After walking through the calibration wizard that runs the first time the printer is powered on, my test print came out with some minor issues:

As you can see, half of the print looked pretty good, but the other half looked kind of melty. After asking around a bit I determined that this happened due to the geometry of the Ultimaker’s printhead and cooling assembly. The printer comes with a single extruder installed, and with space already allocated for installing a second extruder as a future upgrade. The two extruder nozzles are positioned to be installed side-by-side, in line with the cooling assembly. What this means is that the Ultimaker 2’s cooling setup is actually asymmetrical, with one fan being significantly closer to the extruder nozzle than the other. This causes uneven cooling, and melty-looking results on the side that has the cooling fan further away from the nozzle.

This may sound like a fairly serious issue, but it’s actually an easy problem to solve. I was able to eliminate the asymmetrical cooling problem by printing out a custom cooling assembly (freely available; I used the ‘V06′ design found here) and replacing the stock assembly with it. My next print showed an immediate improvement:

So…the 3d printer can 3d print its own upgrades, fixes, and replacement parts. Soon we’ll have 3d printers spitting out improved versions of themselves, and all the companies selling these devices will be out of business. In any case, with the improved cooling assembly installed I’ve had success printing many things, from cups (watertight, but not dishwasher safe), to rubbish bins (a cup that’s accidentally scaled up too much makes a rubbish bin), to annoying cube puzzles, to custom-designed modifications for the drone:

In general it’s quite easy to print things. It’s pretty much just load up the part in Cura, transfer to SD card, and go. Cura is fairly easy to use, although some of the more advanced options could use a bit more documentation. My only major complaint about Cura is that in my opinion it’s overly aggressive about automatically retriggering expensive computations (toolpath and model updates) and brings my laptop to its knees as a result. However, Cura is open-source, and with a few hours of tinkering I was able to create a patched version that disables the expensive computations until the user says it’s okay.

In the end, the only real issue I see with the printer comes back to the cooling problem that I encountered on the initial print. If the printer is going to ship with a single extruder installed, then the cooling assembly that ships with it should be optimized for use with a single extruder. The dual-extruder shroud could easily be included as part of the upgrade kit for installing the second extruder. Taking it even further, however, what I really think what Ultimaker should do is redesign the printhead assembly by rotating the extruder nozzle locations 90 degrees from their current positions. That would put them in-line with each other but perpendicular to the fans, making them equidistant from the cooling source. It would also allow the same cooling assembly to be used with both single- and dual-extruder setups. Perhaps this is something they’ll consider for the Ultimaker 3. Or the Ultimaker 2+, if they follow the naming conventions that other companies seem to be using.

So overall the Ultimaker 2 is shaping up to be a very capable machine that’s simple and straightforward to use. I still think stereolithography is how we’ll end up printing things in the future, but the Ultimaker has shown me that there’s actually quite a bit that can be done with FDM.

Oh, and the accuracy? It’s spot on, on all axes. If I tell it to print a 1cmx1cmx1cm cube, that’s exactly what I get. Interlocking parts with relatively small (~1mm) features can be printed with ease. So no issues there.

Overall score: 9.0 / 10.0.

Posted in banter, editorial, hardware | Tagged , , | Leave a comment

Matchbook – Multi-platform Realtime Gaming

Have you ever thought that it would be cool if you could build a cross-platform or multi-platform game and connect from one platform to another without having to do all the heavy lifting with respect to matchmaking, communications, and related tasks yourself? Well now you can, thanks to Matchbook.

Matchbook Example "Game"

Matchbook Example "Game", 2x iOS and 2x Android clients

Matchbook is a lightweight and platform-agnostic matchmaking solution, intended for use in mobile applications (think games that require near-real-time, relatively-low-latency, persistent communications between two or more client devices).

At its core is a server component, which provides a JSON-based webservice allowing clients to find, create, and join matches. The server also acts as a proxy/relay when necessary, allowing client devices to tunnel through any firewalls that might exist between them.

In addition to the server component, Matchbook includes prebuilt SDK’s for both Java and Objective-C. These SDK’s are intended to support the development of native applications that make use of the Matchbook webservice on Android and iOS devices, respectively.

I could go on at length, but it’s simpler to just link to the project on Github (Matchbook is open-source, and permissively licensed, naturally):

https://github.com/adam-roth/matchbook

Note that Google is currently building comparable functionality into Google Play, although their realtime communications API is currently only available on Android (iOS support is under development).

And although Apple already has realtime and turn-based gaming API’s for iOS, they natually have no intention of inviting Android devices to the party. Ever.

So let the record show that Matchbook got there first.

Posted in coding, java, objective-c, software | Tagged , , , , | Leave a comment