Archive | blogging RSS for this section

Top 10 Most Popular Articles on the jOOQ Blog


What do people do when they run out of topics? They recycle previous topics and create top 10 lists. Here is a list of the top 10 most popular articles from the jOOQ blog:

  1. Top 10 Very Very VERY Important Topics to Discuss
     
    A fun, not so serious parody on what is being discussed on reddit’s /r/programming. Hint: Bikeshedding topics are the most popular. Like this one. That was so meta!
     
  2. 10 Subtle Best Practices when Coding Java
     
    This is a really interesting article about not-so-common advice that might be handy every once in a while.
     
  3. 10 Common Mistakes Java Developers Make when Writing SQL
     
    A classic and must-read for all SQL developers (not only those that usually write Java)
     
  4. SQL Trick: row_number() is to SELECT what dense_rank() is to SELECT DISTINCT
     
    We’re surprised ourselves that this is so popular. But it appears that we’re really well ranked on Google when people are looking for ROW_NUMBER() and DENSE_RANK(). And the trick is very useful, of course!
     
  5. Why You Should NOT Implement Layered Architectures
     
    What a silly rant! And how it went up in the ranking within only two days! This is not really very serious advice. Obviuosly, you should (as always) do what fits best to your problem domain. But we wanted to make people think about the status quo and how it is often applied too rigidly, without thinking about all the options. Looks like we’ve hit a sweet spot with developers frustrated with overengineered applications…
     
  6. MIT Prof. Michael Stonebraker: “The Traditional RDBMS Wisdom is All Wrong”
     
    Michael Stonebraker is a very controversial person per se. In this article, we’re linking to a talk by Stonebraker where he claims (again) that the RDBMS end is nigh. A year later, we can see that NoSQL is still on the rise, whereas NewSQL is still no where. See also the next article…
     
  7. The 10 Most Popular DB Engines (SQL and NoSQL)
     
    This is an interpretation of a popular ranking of (R)DBMS, showing that even if Oracle, MySQL, and SQL Server are the most wide-spread databases, something’s about to change.
     
  8. Does Java 8 Still Need LINQ? Or is it Better than LINQ?
     
    Again, controversy is king. Of course, LINQ is awesome and often we wish we had something like LINQ in Java. In this article, however, we’re claiming that with Java 8’s Streams API and lambda expressions, we might no longer need LINQ, as collections transformation is already sufficiently covered, and LINQ-to-SQL is not what made LINQ popular (which is where jOOQ is more useful)
     
  9. 10 More Common Mistakes Java Developers Make when Writing SQL
     
    A follow-up article to the previous, very popular article about common SQL mistakes. Yes, there’s a lot to learn in this area.
     
  10. The Java Fluent API Designer Crash Course
     
    From a jOOQ perspective, this is one of the most interesting articles explaining the very simple and easy-to-apply rules that we’re using to produce our API in the form of an internal domain-specific language. If you want to build jOOQ for your own query language (e.g. Cassandra’s CQL), just follow these simple rules
     

Thanks for reading our blog! We promise to keep you up to date with more interesting (and occasionally useless) content!

Java 8 Friday: The Best Java 8 Resources – Your Weekend is Booked


At Data Geekery, we love Java. And as we’re really into jOOQ’s fluent API and query DSL, we’re absolutely thrilled about what Java 8 will bring to our ecosystem.

Every Friday, we’re showing you a couple of nice new tutorial-style Java 8 features, which take advantage of lambda expressions, method references, default methods, the Streams API, and other great stuff. You’ll find the source code on GitHub.

The Best Java 8 Resources – Your Weekend is Booked

We’re obviously not the only ones writing about Java 8. Ever since this great language update’s go live, there had been blogs all around the world appearing with great content and different perspectives on the subject. In this edition of the Java 8 Friday series, we’d like to summarise some of the best content that has been going on on that subject.

1. Brian Goetz’s Answers on Stack Overflow

Brian Goetz was the spec lead for JSR 335. Together with his Expert Group team, he has worked very hard to help Java 8 succeed. However, now that JSR 335 has shipped, his work is far from being over. Brian has had the courtesy of giving authoritative answers to questions from the Java community on Stack Overflow. Here are some of the most interesting questions:

Thumbs up to this great community effort. It cannot get any better than hearing authoritative answers from the spec lead himself.

2. Baeldung.com’s Collection of Java 8 Resources

This list of resources wouldn’t be complete without the very useful list of Java 8 resources (mostly authoritative links to specifications) from the guys over at Baeldung.com. Here is:

http://www.baeldung.com/java8

3. The jOOQ Blog’s Java 8 Friday Series

Yay, that’s us! :-)

Yes, we’ve worked hard to bring you the latest from our experience when integrating jOOQ with Java 8. Here are some of our most popular articles from the recent months:

4. ZeroTurnaround’s RebelLabs Blog

As part of the ZeroTurnaround content marketing strategy, ZeroTurnaround has launched RebelLabs quite a while ago where various writers publish interesting articles around the topic of Java, which aren’t necessarily related to JRebel and other ZT products. There is some great Java 8 related content having been published over there. Here are our favourite gems:

5. The Takipi Blog

Just like ZeroTurnaround and ourselves, our friends over at Takipi provide you with some awesome Java 8 content on their blog.

6. Benji Weber’s Fun Experiments with Java 8

This blog series we found particularly fun to read. Benji Weber really thinks outside of the box and does some crazy things with default methods, method references and all that. Things that Java developers could only dream of, so far. Here are:

7. The Geeks from Paradise Blog’s Java 8 Musings

Edwin Dalorzo from Informatech has been treating us with a variety of well-founded comparisons between Java 8 and .NET. This is particularly interesting when comparing Streams with LINQ. Here are some of his best writings:

Is this list complete?

No, it is missing many other, very interesting blog series. Do you have a series to share? We’re more than happy to update this post, just let us know (in the comments section)

Do You Want to be a Better Software Developer?


Bloggers are a different breed. They’re spending a lot of time investigating issues in a systematic way that is presentable to others. And then they share – mostly just for the fun of it and for the rewarding feeling sharing gives them. Whenever we google for a technical issue, chances are high that we stumble upon such a blog post.

One of the best blogs out there is Petri Kainulainen’s Do You Want to be a Better Software Developer? Petri has also written a book about Spring Data, which is available from Amazon, O’Reilly and Packt Publishing.

Most recently, I have found his two Maven-related tutorials very useful and well-written:

Also, in 2013, he has written an extensive series of blog posts titled “What I Learned This Week”. Some examples:

Petri’s blog is certainly one that you should follow. His posts are very well structured and quite complete. Currently, he’s also writing an extensive series about jOOQ, which is a very useful additional resource for new jOOQ users.

Thanks for all this great content, Petri!

#CTMMC, the New Hashtag for Code That Made Me Cry


Our recent article about Code That Made Me Cry was really well received and had quite a few readers, both on our blog and on our syndication partners:

In each of us programmers is a little geek with a little geek humour. This is reflected by funny comics like the one about

The only valid measurement of code quality: WTF/minute

Other platforms ridiculing bad code include

But one thing missing is a hashtag (and acronym) on twitter. It should be called #CTTMC for Code That Made Me Cry.

To promote this hashtag, we have created a website, where we will list our collective programmer pain. Behold:

http://www.ctmmc.net

The Spam Manifesto: Reactive Spamming, Big Spam, Spam Reduce


Dear Spammers,

SpamInACanWhen blogging and interacting with our users on forums, dealing with your spam is part of our every day work. Our WordPress blog luckily uses Akismet, a comment spam prevention tool, which removes lots and lots of spam, such that our moderation efforts stay very low. Google Groups, on the other hand, uses Google’s own awesome spam filter, which works impeccably in GMail already. But unfortunately, we have to perform quite a bit of moderation as there are an incredible number of Chinese spammers.

Who are these spammers? Who spends so much time in developing robots for stuff that doesn’t really work as most mail / blog vendors have awesome counter-measures? You’re just wasting your time without any actual conversion!

To make things worse, blog software renders many links as “nofollow”, so even if a spam comment slips through, you won’t get the conversion. You spammers are obviously in the tech stone age, perhaps writing your spam software in COBOL or Delphi?

Let us help you get up to date with recent developments. I’ve had a brief discussion with Petri Kainulainen on the subject, and we think that there should be a new

Spam manifesto

We would like to introduce Reactive Spamming. We believe that Hipster Spammers could take the lead and greatly benefit from fancy tech such as Clojure, Akka and Hadoop. Imagine implementing SpamReduce or MapSpam algorithms on BigSpam. Gartner will certainly feature you on their tech radar. We’ll create SpamConf, a great conference where brilliant minds of our time can discuss the latest in spamming, and the Groovy folks will present their new SpamDSL, to help you express your algorithms in FluentSpam.

And now, for some background info about Spam.

On Degrading Merchandise Quality


I’ve just replaced 4 halogen bulbs in my appartment. When I threw the old ones into our recycling bin, I’ve noticed that there were already around 8 bulbs in there. From the last 5-6 months, only! This made me sad, as it shows how our consumer society works. Read on to learn how jOOQ strives to be different with respect to endurability and long-lasting quality.

More stuff I’m made to buy because it falls apart

I’ve just bought a new mobile phone, because the old one didn’t really work anymore, after only 2 years!

I’ll be buying a new hard drive next week, because the one I’ve bought recently (to replace a broken, 3 year old one) heats up too quickly and doesn’t give me the throughput I want!

I buy 2 pairs of new Adidas a year, because they don’t last as long as my leather shoes!

I buy about 5 mini-umbrellas a year, because apparently, they’re made to last a mere 10 days of rainfall!

I buy about 2 new city bikes a year, because mending them is more expensive than buying new ones. It’s not that I’d just have to replace tires, they’re actually quite broken after 1/2 year!

I bought a Windows Surface RT tablet just to learn that almost no programs can run on it. I would have had to buy the Pro version and throw the old one away.

Should we really work this way?

I’m forced to buy new stuff. I buy new stuff because the previous stuff I’ve had breaks apart so quickly. And in many cases, it is very clear that it has been designed to break apart in a short period of time. Replacing things with new things is an industry of its own. If stuff were made to last and to work for 10 years (Hah 10 years. Our grandparents used the same stuff for 40 years!), corporations would make less money with new merchandise to replace their previous equivalent merchandise. Take my awesome Samsung flat screen TV, for instance. I had bought it around 7 year ago, and it still works like a charm. Samsung never got any money from me again, even if I’m a very happy customer. Is that a bad business plan for Samsung?

There’s more to life than making tons of money and keeping a paying customer base for your deliberately mediocre product line. There is a strong urge to contribute to making this world a better place. By selling quality products that do not fall apart very quickly. Products that do not require a lot of support. Products that are easy to use and long-lasting, such that the return on investment for your customer is extremely high, at the cost of making “only” a living instead of tons of money and waste.

At Data Geekery, producing such products is our highest credo. This is why we charge a bit of money for licensing with support included, because we think that our quality is so high, you might not even need any support. We could make a lot more money by lowering our quality and by hiring a lot of expensive consultants to explain to you how our complicated product works. But jOOQ is not complicated, it is extremely easy to use.

Many “free” Open Source products don’t work this way. They lure you in by being free and LGPL-licensed, unloading a lot of consulting and maintenance costs onto you only later on. It is your choice. Do you want to invest in your future by keeping maintenance costs low? Or do you want to get a cheap product and pay later on? Think about dirt cheap ink jet printers and how much you’ll pay on those quickly-emptying ink-cartridges later on. Think about dirt cheap coffee machines and how much you’ll pay on those capsules later on. Think about some computer products, and how often you have to pay for ridiculous updates, because the “old” minor release of the operating system is no longer supported.

Don’t think in short terms. Don’t fall for “free” stuff. There is no such thing as free lunch. You always pay. A little bit now, or much more later.

A Significant Difference Between Open Source and Commercial Software


A recent event has triggered a lot of interest in the debate about the good and the bad parts of Open Source. Oracle’s attack on Open Source. For large corporations who aren’t Red Hat, taking a stand on the topic is far from easy. Oracle used to sell only commercial software, but has since acquired a lot of open-sourcey companies, such as Sleepycat Software (BerkeleyDB) or Sun Microsystems (Java, MySQL). Phrasing a long-term strategy upon this legacy isn’t easy.

At the same time, Oracle is extremely successful, having surpassed IBM’s revenue, making Oracle the second largest software company in the world. The continuing popularity of its flagships Java and the Oracle database is promising, also for middleware vendors providing products such as jOOQ, for their flagships.

At Data Geekery, Open Source is also very important, just as commercial licensing has become, since recently. The change towards dual-licensing has been received rather positively on the jOOQ user group, even if it led to open questions about the continued Open Source strategy. But what’s the real difference between Open Source and commercial software? At Adobe, Dr. Roy Fielding is often cited saying that there is essentially no difference between Open Source and commercial software, and he’s quite an authority for both worlds. Both are absolutely viable business models with their pros and cons respectively (unfortunately, I cannot back this up with an actual citation).

One significant difference, however, is that low-quality open source software can heavily outlive low-quality commercial software, as it just never really dies, as no one is “losing money” on low OSS “sales”. I’ve recently blogged about how to recognise such low-quality Open Source software.

Open Source is foremost a business and marketing strategy, just as much as it is a mission. This business strategy can be a good or a bad choice for any software vendor.

The End of US Internet Governance


This is huge news! The Internet will finally become the global network it could’ve always been as ICANN, IANA, IETF and others simultaneously move away from US unilateral Internet governance.

http://www.internetgovernance.org/2013/10/11/the-core-internet-institutions-abandon-the-us-government/

I guess, in the end, the NSA did us all a “favour” with their spying. If this will make the internet better, or if this will introduce UN-style politics remains unclear… But it will certainly change the world. If you want to express your opinion, there’s a heated debate on www.reddit.com going on!

Follow

Get every new post delivered to your Inbox.

Join 2,190 other followers

%d bloggers like this: