-
Recent Posts
Tags
3d-printing AIR android apache captcha cocoa coding configuration configure emulator fair-work filter framework gaming hack hardware install ios iphone java javascript jira lion location maps media objc opinion php plugin portal random rant recording refactoring reputation review scrolling servlet social threading url-rewrite video wordpress xcodeCategories
Meta
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.
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:
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:
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.
2026 Update: Unfortunately I think you can no longer get these ![]()
On the 2016 Election
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
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:
- On or around 22 November 2010 I commenced employment at iApps Pty Ltd as a senior-level IT professional.
- 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).
- 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.
- 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.
- 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.
- Over the course of my employment, iApps Pty Ltd often expected myself and other employees to put in uncompensated overtime.
- 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.
- 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.
- 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.
- 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.
- 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.
- On 15 October 2013 I informed iApps management of the underpayment, and included a claim for repayment of the underpaid wages.
- 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.
- 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.
- iApps management professed a general unfamiliarity with the Professional Employees Award and Fair Work policies.
- 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.
- 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.
- 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.
- 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.
- 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.
- I took the subsequent day off to seek legal advice, conduct further research, and evaluate my options. The other employee involved did the same.
- 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.
- 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.
- 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.
- In relation to the above; on 16 October 2013 iApps management had also stated that there was “no redundancy” for myself or my skillset.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- We went before the Fair Work Commission:
![]()
And we came to terms (Addendum 1: Covered Software). Terms that iApps Pty Ltd would ultimately breach.
- iApps Pty Ltd failed to pay the final installment that was due on 30 November 2014.
- On 4 December 2014 I advised iApps that I had not received payment (and received no reply).
- On 5 December 2014, I again advised iApps that I had not received payment (and received no reply).
- iApps Pty Ltd failed to remedy their non-payment within the 7 days allowed by our settlement terms.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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:
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:
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:
- Venkel’s fan mount
- IRobertI’s feeder system
- My own filament mount
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.
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.
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 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 coding, framework, java, objc, open-source
Leave a comment

















