Profile

Cover photo
Moandji Ezana
Works at Tersos
Attended Sussex University
Lives in Mtunzini, South Africa
126 followers|455,471 views
AboutPostsPhotosYouTubeReviews

Stream

Moandji Ezana

Shared publicly  - 
 
"Under our present system, the military and government use big data to suppress populations and spy on civilians. Corporations use it to boost profits, increase productivity, and extend the process of commodification ever deeper into our lives. But data and statistical algorithms don’t produce these outcomes — capitalism does. To realize the potentially amazing benefits of big data, we must fight against the undemocratic forces that seek to turn it into a tool of commodification and oppression."
The software giant Oracle has big claims about “big data.” They call it “the electricity of the twenty-first century — a new kind of power that transforms everything it touches in business, government, and private life.” There is no consensus about what “big data” is, exactly, ...
1
Add a comment...

Moandji Ezana

Shared publicly  - 
 
toml4j 0.4.0 is now available on Maven Central.

It adds support for the TOML language's latest features. Importantly, toml4j is now a lot lighter-weight: the dependency on Parboiled - and its cumbersome transitive dependencies - has been dropped.

So switch your config files over to TOML now, if you haven't already!

https://github.com/mwanji/toml4j
toml4j - A Java TOML parser
1
Add a comment...

Moandji Ezana

Discussion  - 
 
I'm considering putting a Java 8-friendly interface on a library of mine. It has methods such as getString(key), getLong(key), etc. Currently, these methods return null if the key doesn't exist. I'd like them to return Optional, but not in an annoying way.

Do you think it's better to only have the getters return Optional, or also have overloaded versions that take a default value (eg. getString(key, defaultValue))?

Having only the Optional version works well when you're truly not sure if a value exists, but having to call get() all the time is annoying. On the other hand, having methods that take a default value feels like it's duplicating the role of Optional.
1
Emanuele Ziglioli's profile photoMoandji Ezana's profile photoMark Derricutt's profile photo
4 comments
 
From that perspective - I'd probably leave getString() returning null, and add a findString() returning Optional.  "find" implies a search, which in turn implies maybe not finding, which is optional.  "get" is very explicit, I'd possibly even consider making get() throw a NotFoundException or something ( unless backward compatibility/consistency is deemed a warranted keeper ).
Add a comment...

Moandji Ezana

Shared publicly  - 
 
Some great tips on what a good dev/build/deploy environment can look like, by +James Ward​. Targets Java, but much of it is language-agnostic, IMO.
I've been building enterprise Java web apps since servlets were created. In that time the Java ecosystem has changed a lot but sadly many enterprise Java developers are stuck in some very painful and inefficient ways of doing things. In my travels I continue to see Java The Sucky Parts – but it ...
2
1
Philip Durbin's profile photo
Add a comment...

Moandji Ezana

Shared publicly  - 
 
I'm getting ready to insert a floppy disk full of JavaBeans into my computer right now.
2
Add a comment...

Moandji Ezana

Shared publicly  - 
 
I'm pretty sure whoever created Eclipse Luna's Dark theme was on an acid trip. It feels like every word is a different colour. Eg. variable names are one colour when they are initialised, and another when they are used. Really?
2
Richard Vowles's profile photoMoandji Ezana's profile photo
2 comments
 
And now I'm trying to read that vomit.
Add a comment...
In his circles
121 people
Have him in circles
126 people
Posada Real de las Vegas's profile photo
Dernières-Nouvelles du Jazz's profile photo
Vids4Kids.tv's profile photo
Yannick Lemin's profile photo
Bianca Visser's profile photo
Zainab Ojeifo's profile photo
Angela Banjoko's profile photo
Félix MARIE-SAINTE's profile photo
Ida Kaisa Lonnqvist's profile photo

Moandji Ezana

Shared publicly  - 
 
A portrait of an African American woman programmer/mathematician at NASA from the 50s to the 80s. It's amazing that she persevered despite all the obstacles that were deliberately placed in her path.

Also, the picture linked to on Wikipedia is amazing.
Recently, someone multiple generations ahead of me and well respected in Silicon Valley told me that I’m a pioneer. The implication was that I’m the first to look like I do and do what I do professionally. That I’m creating a new path for future...
2
Add a comment...

Moandji Ezana

Discussion  - 
 
Today I accidentally discovered that you can write a lamba expression for a class you don't have access to. Does this seem like a good practice or an anti-pattern?

A code example:

public class A {

  public void take(PrivateClass pc) {}
 
 @FunctionalInterface
  private static class PrivateClass {
    void handle(Object o);
  }
}

Another class can do:

new A().take(o -> {});

but not

A.PrivateClass l = o -> {};
new A().take(l);

It's kind of weird to semi-expose a class in this way...
1
Moandji Ezana's profile photoEmanuele Ziglioli's profile photoMark Derricutt's profile photo
5 comments
 
For a moment I was thinking it's not so much a big deal, since (at the source level) you're never importing/referencing the name of the interface - so maybe that's "allowable", but then at the class loader side of things - you need to be able to resolve the class ( which, you can resolve it, you just can't access it.

One could argue that by using a lambda expression it would be allowable, as your code never says "I want to be this interface", but you'd not be able to "new SomePrivateInterface() {...}" it....

Does seem kinda naff tho.
Add a comment...

Moandji Ezana

commented on a post on Blogger.
Shared publicly  - 
 
Re: jawr, how did you like it? I'm currently writing a simpler alternative to wro4j and jawr and am wondering what people use now.
So I wanted to give myself an exercise in creativity in the last week, scratch an itch and see just how fast I can deliver a project. It tooks me 2.5 days. My local high school (secondary school) runs a website that the pupils and their parents can log into. It allows you to see the usual grades ...
1
Richard Vowles's profile photo
 
I don't like it much. It screws up more often than it gets it right, I was beginning to just use is syntax and write a compile time plugin that would generate the appropriate compiled end results.
Add a comment...

Moandji Ezana

Shared publicly  - 
 
All these new TLDs are mostly ridiculous (.ink ? .today ?), but some of them have fun uses. The alphabet URL had already been taken by the time I thought of it, sadly.
1
Moandji Ezana's profile photoKarl Leaning's profile photoRichard Vowles's profile photo
7 comments
 
Did you know if you search Google for "Urban Dictionary" it comes up with an in place search for it?
Add a comment...

Moandji Ezana

Discussion  - 
 
What's the current thinking on libraries using logging frameworks? Even using SLF4J forces clients to do something about it. I feel like ideally libraries would just use j.u.Logger, as it would have the least impact on client code, but no-one ever has anything good to say about it.

Sorry if this has been discussed recently, I haven't been able to listen to the podcast for a long time.
1
Richard Vowles's profile photoMoandji Ezana's profile photo
4 comments
 
What I meant by logs vanishing is that if slf4j-api doesn't find an impl, it uses slf4j-nop. An error message is printed to console in that case, but that is easy to miss.

I guess "use slf4j" is still the best advice, for both applications and libraries...
Add a comment...
People
In his circles
121 people
Have him in circles
126 people
Posada Real de las Vegas's profile photo
Dernières-Nouvelles du Jazz's profile photo
Vids4Kids.tv's profile photo
Yannick Lemin's profile photo
Bianca Visser's profile photo
Zainab Ojeifo's profile photo
Angela Banjoko's profile photo
Félix MARIE-SAINTE's profile photo
Ida Kaisa Lonnqvist's profile photo
Work
Occupation
Software developer
Employment
  • Tersos
    Software developer, 2012 - present
  • Emakina
    Software developer, 2009 - 2011
  • JavaBlackBelt
    Software developer, 2005 - 2009
  • Electrabel
    Software developer, 2002 - 2003
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
Mtunzini, South Africa
Previously
Belgium - Ferney-Voltaire, France - New York, USA - Nairobi, Kenya - Brighton, UK - Warwick, UK - Martinique
Story
Tagline
Programmer, father of 2.
Introduction
You may have met me in Martinique, New York, Kenya, France, the UK, Belgium or South Africa.
Education
  • Sussex University
    International Relations, 1996 - 1999
  • Warwick University
    International Relations, 2000 - 2001
Basic Information
Gender
Male
Birthday
November 11, 1978
Other names
Mwanji
Apps with Google+ Sign-in
  • Crossy Road
We go there all the time. I particularly recommend the calamari, ghoulash and cheesecake. The decadent pancake, a crêpe filled with fried bananas, covered in nuts and drenched in honey, is fantastic. Nice play area for kids, too.
Public - a year ago
reviewed a year ago
1 review
Map
Map
Map