Blog @nicoschuele.com


RailsBricks 3 released!

It took a little bit more time than expected but RailsBricks 3 is finally available! Get it through gem install railsbricks, check out the video, have a quick read through the get started or discover the upcoming web development guide with Ruby, Rails & RailsBricks.

Changes

RailsBricks 3 packs some awesome new features:

  • optional generation of all the resources necessary for a blog, news articles or product updates using the Markdown syntax
  • optional Unicorn configuration for deployment in production
  • optional generation of a Contact form
  • several UI themes to choose from (based on Bootstrap 3)
  • choose between SQLite or PostgreSQL as the development database
  • ...and more!

As RailsBricks is moving forward, some features were removed:

  • no test framework included: everybody approaches testing differently so it is up to you to choose and implement the framework you prefer
  • no more Reset CSS UI option: RailsBricks uses Bootstrap 3 only

Web development guide

RailsBricks is now at version 3 and since its first version, I received tons of feedback and loads of questions. This is why I also intend to create a web development guide. Follow @railsbricks on Twitter to know when it gets released.

The future

RailsBricks 3 is freshly out of the oven but I already started on working on a new feature for version 3.1: the capability to add a forum to your app. I will also continue to maintain RailsBricks and update it as new versions of Ruby or Rails get released.

Contact and feedback

If you have comments, suggestions, feedback or feature requests, don't hesitate to drop me a line using the contact form (built with RailsBricks!) or on Twitter @railsbricks.

Now, go build something awesome!


My Sweet Setup: Part I - Hardware

From time to time, I get asked what kind of computer do I use or what is my favorite text editor. Last night, someone asked me to describe my setup so instead of answering by email, I thought about describing it here. As I spend nearly all my waking hours on a computer in my home office, I took some time to build the environment that suits me best. Here is Part 1 - Hardware. I'll give you a list of the software I use in a future post.

The Room

The Room

I like working in the dark. It allows me to focus on my screen. I still need a lightsource other than my screens so I use a Philips LivingColors LED lamp set on a light blue color in the corner of the room.

Mac Hardware

Desktop

Mac Mini

My main computer is a Mac Mini. This is the 2012 version (the one just before the newer 2014 Mini announced this October), customized with an Intel i7 processor, 16 GB RAM and a 1 TB Fusion Drive. In terms of raw performances, it can't compete with a high-end iMac or a Mac Pro but as a machine for coding, it does everything I need and even some more without any slowdowns. I never turn it off, it's always on, sometimes for several months without even a reboot.

I use it with a 27" Apple Thunderbolt Display as the main monitor and a 24" Samsung S24A350H on its left side.

The keyboard is the standard Apple wired aluminum keyboard. I really like it because it's silent. I have a MacBook Pro connected to an external display on which I use the wireless Apple keyboard but I don't like it as much as the wired one with its numeric keypad.

The mouse is a Logitech Wireless Performance MX. I reassigned the extra buttons to keyboard shortcuts such as CMD+W to close the current window.

On the left side of the keyboard, there's an Apple Magic Trackpad. I assigned plenty of gestures to it using BetterTouchTool such as close, mission control, copy-cut-paste, etc. I'll detail them in Part II - Software.

Laptop

MacBook Air

The Apple laptop is a 2013 13" MacBook Air with the Intel i7, 8 GB RAM and 256 GB SSD. On battery, I can use it between 12 and 14 hours before I need to charge it again. This is the best piece of hardware I've ever owned.

LandingZone

When home, it is connected to an Apple wired keyboard, Magic Mouse and external display using a LandingZone 2.0 PRO docking station.

Windows Hardware

I mostly work on Mac but sometimes, depending on the customer I'm working for, I need to have some Windows machines as well.

Desktop

Old gen HP Pavilion Elite HPE

My Windows desktop machine is an old HP Pavilion Elite HPE which I upgraded over time. It also serves as a gaming rig with some good specs: 1 TB HD, 16 GB RAM, Intel i7, two EVGA GeForce GTX 560 Ti graphic cards. It runs Windows 8.1 and Linux Mint 17 on a separate partition. Another 24" Samsung S24A350H is plugged into it.

Laptop

HP Envy dv6

This is a HP Envy dv6: Intel i7 2.4GHz, 750 GB HD, 8 GB RAM, NVIDIA GeForce GT 630M, 15.6" LED-backlit display at a sorry 1366x768. It currently runs Windows 8.1.

Keyboard and Mouse

Logitech K740

The Logitech Illuminated K740 is by far the best keyboard I've used on Windows (and I've tried many!). It's super thin, has backlit keys with three levels of illumination and is silent. This keyboard has its place in my personal hardware hall of fame.

Logitech MediaPlay

The Logitech MediaPlay Cordless Mouse is another piece of hardware I have since forever (2003, I believe). I love it for its many buttons, its backlight and the general shape that is so very comfortable to the hand. Unfortunately, Logitech doesn't make them anymore. It still works perfectly with OS X, Windows and Linux.

Linux Hardware

Acer Aspire One

I run Linux Mint 17 on an Acer Aspire One 756 laptop. The specs are not impressive at all: Intel Celeron 1.1 GHz, 2 GB RAM, 320 GB HD, 11.6" screen. Its lightweight makes up for the less than stellar performances when I need to carry around a Linux laptop.

As a Linux desktop, I use the previously mentioned HP Pavilion Elite HPE. It dual boots Windows 8.1 and Linux Mint 17.

Phone

iPhone 6. Nothing to add.

Misc

Transcend

I use a lot of external hard drives. So far, my favorite is a Transcend Storejet 2TB USB 3.0. It has rubber around it. I use these for cloning my machines or storing large media files.

Thule Bag

Last but not least, each time I leave the house, it's with this Thule 13 Stravan bag to carry the MacBook Air and the iPad around.


Looking back at my open-source experiment: Applying a thousand no's

Few weeks ago, I started the development of RailsBricks 3. Based on over a year of intensive use of RailsBricks 2, I came up with new features that would be useful as well as discarding some others. Here's how I am currently tackling the task, a quick look at my experiment with open-source as well as an inkling of an idea to monetize the hours I spend working on this free tool.

A question of time

I work on many different web apps. Many never leave the prototype stage, some get finished, and a fraction of these gets released. As a .NET developer for years, I was faced with the same challenge many other developers face: time. Even though I really like the C# language, I came to realize that coding with the ASP.NET framework was not the best solution for me. I needed to find a faster way to move from an idea to a prototype I can play with.

That is when I came to look at the Ruby language and got amazed by all it had to offer and the speed boost I got from coding my prototypes with the Ruby on Rails framework.

Getting from Fast to Faster

Even though Rails multiplicated my productivity by an order of magnitude, I wasn't still quite happy because I found myself doing many setup tasks over and over again. As said, I don't work on one web app. I work on many. Whether for myself or for customers. I needed to automate trivial things like setting up a basic Bootstrap UI template while retaining the ability to modify it quickly. I made a ton of Bash and Ruby scripts to automate these tasks. And one day, I grouped them together in a single directory named rails_bricks and made yet another Bash script displaying a command-line menu with options such as add test users. RailsBricks 1 was born and again, my productivity got enhanced.

Open-source

To access my little RailsBricks from different machines, I published it on Github so I could easily git clone it everywhere. When the Github RailsBricks repository got its first 10 stars, I thought I could do better for the people using it.

Back to the drawing board

I rewrote RailsBricks entirely in Ruby as an organized gem, installable through a simple gem install railsbricks, accessible with the cli command rbricks, adding features that were requested to me as well as some I needed at the time. Then, I published it as RailsBricks 2 and built a companion website with a bit of documentation. It got featured in Ruby Weekly and I'm proud of that because it is the only email newsletter I've ever subscribed to in my 15+ years using the web.

And happy-go-lucky, I continued to build a bazillion web apps, really fast. As an example, starting with an empty directory to published on the web, this very site/blog took me less than 40 minutes to make. I also continued to update RailsBricks when time permits. As you can see in the News section or in the README, several other developers contributed code to make RailsBricks better. I am thankful for the help.

Why have two when you can have 3

I am not a good developer by any means but I make stuff quickly that works and that I can maintain without pain. I keep learning about Ruby as well as Rails and I integrated new techniques in my development toolbelt. Recently, I found myself in the same place I was when I started coding with Ruby: spending time on setup tasks that could be automated. Having used RailsBricks 2 since its first iteration, I have more hindsight and came up with a list of things I could do to make it better.

Two choices: I could continue to enhance RailsBricks 2 or start a brand new iteration from scratch. I chose option number two and started working on RailsBricks 3.

Where I do want to go

The projects I enjoy working on the most are those where I'll be a user of the finished product. RailsBricks is one of them. I make it primarily for me. I've investigated other app generators or templates, of course, but they simply don't fit my needs. Suspenders by Thoughtbot comes close, though but again, it doesn't do some basic stuff I really need.

So, I needed to write down where I really want to go with RailsBricks 3. The conclusion that came out was I am my first user. Hence, for this version, I will concentrate a little bit less on the many feature requests I get, even though I consider them all, and focus more on my needs and planned usage. As the first contact users get with RailsBricks is generally the wizard menu, that's what I started building first. I nailed it, I think as I see myself enjoying using it. My inspiration for handling this? The Designed By Apple - Intention video. A yes should only be the logical result of thousands of no's.

Better UI choices, more fonts, handling of PostgreSQL, more options for the authentication scheme, handling of more production settings such as Unicorn config, Google Analytics integration, optional resources relevant to a Post model, better admin zone, and more. Much more.

There are some recurring requests such as handling a different templating engine such as HAML, NoSQL databases support, integration of various testing frameworks. Truth is, these are not things I use or want to use at this time. Instead of spending time on building loads of features I wouldn't even use, I want to focus on releasing RailsBricks 3. Then, anybody is free to add the features they deem essentials. It's open-source after all!

Would be nice to get some kind of ROI

The main benefit I get from RailsBricks is that I can do my daily job much faster and concentrate on the features of the apps I build rather than their settings. Still, RailsBricks itself takes me a great amount of time to make.

I have no plan to transition RailsBricks to a paid app. I don't want that. It would be like giving the finger to the people who contributed to past versions as well as the users who enjoy using it. It is also my first adventure in the open-source world (remember that I come from a Microsoft background) and I am learning a lot maintaining it.

Aside from me, there's a non negligible population of developers using RailsBricks: Rails beginners. I see that from the amount of questions I receive by email. I want to make something for them all the while not working for free. I have an idea for this in the form of a companion ebook to the RailsBricks documentation intended at showing how to customize a generated app (how to change the number of posts displayed by default, working with JQuery UI in the context of Rails apps built with RailsBricks, ...). I will communicate more about this when the time comes. Trying to get a financial income is part of my experiment with open-source.

Not there yet but stay tuned

As I announced it on the RailsBricks home site, I plan for a September release of RailsBricks 3. Stay tuned for more info and follow @railsbricks on Twitter to know when RailsBricks 3 gets out of the oven!


Teach yourself web development from scratch with Ruby, Python or C#

Through the year, I have written three posts about learning web development. One with Ruby, one with Python and one with C#. Together, these three posts account for over 25% of the traffic on my blog. As I am receiving an increase of emails from people asking if the books I recommend are still up-to-date, I think now is the perfect time to revisit them and consolidate them here. Do you want to learn how to code? Read on... .

Hacking vs Coding

First, I want to make a distinction between cobbling bits and pieces together to produce a quick Minimum Viable Product - MVP - and programming. This guide is all about learning how to program, not how to copy-paste bits of code to build something that is somewhat usable. Therefore, don't expect to learn everything and be proficient in a month. If you are a dedicated learner, it will take you at least a year.

Of course, this guide assumes that you can operate your computer and do some basic tasks such as copying a file and installing a program.

Writing HTML and CSS is not programming

I've already said it in one of the original posts, writing HTML and CSS is not programming. Both are markup languages, they work hand in hand and are used to specify how a web page looks. You wouldn't call writing a Word document programming, would you? Still, you will need to learn how to write HTML and CSS. That's exactly where we'll start.

Common knowledge

Before you jump into the specifics of your chosen path (Ruby, Python or C#), you will need some basic knowledge that will be applied to any kind of web development. That is:

  • HTML
  • CSS
  • A version control system (Git)
  • JavaScript
  • SQL

Except for JavaScript, which I don't recommend as a starting language, let's see how you can learn these topics.

Learn HTML and CSS

HTML stands for HyperText Markup Language. It is by using HTML that you instruct web browsers (Chrome, Safari, Firefox, etc...) which elements a web page will contain. A paragraph, a header, a bullet points list, an image and so on.

CSS, the acronym for Cascading Style Sheets, is responsible for telling a browsers how HTML elements should look. The font color, the size of images, the position of your paragraphs and much more.

To learn both HTML and CSS at the same time, get the book Head First HTML and CSS. This will be your starting point. After reading this book, you'll be able to create small static web sites. Static, as opposed to dynamic, means that your pages won't offer user interaction such as a sign up page or dynamic content generated from a database such as a product catalog. But let's not jump ahead.

Learn Git

Git is a version control system. It keeps track of changes in your code files and allows you to revert them at an earlier stage if you made a mistake. If you later plan to work with other coders, using a version control system is not an option. There are many different version control systems such as Microsoft Team Foundation Server, Mercurial, SVN or Git. Go with Git. It's quite a popular version control system. In order to learn Git, you can have a look at my Learn to use Git and remote repositories in 15 minutes post to get a decent overview and then complete the free online tutorial at Git Immersion.

Databases

In order to create dynamic web apps, at some point, you will need to store data. Any kind of data. Whether blog posts, user profiles, player scores and so on. That's what databases are for. In order to navigate through a structured database, you make use of one language called Structured Query Language or SQL for short.

You won't need to become an expert database administrator to develop web apps but will still need a good understanding of what they are as well as a basic knowledge of SQL. That knowledge you'll get it by reading the book titled Sams Teach Yourself SQL in 10 Minutes (4th Edition).

Ruby, Python or C#: Choose your path

First, let me get this straight: whatever language and framework you decide to learn, all of them will allow you to get to the same result: developing web apps. There's no best language. Each of them have their strengths and weaknesses but ultimately are well suited for the task at hands. Also, note that once you'll have learned a stack, switching to another one will be far easier than starting to learn from scratch. Understand that no one can answer the question which language should I choose? except you. I can offer a few insights, though:

  • C#: The C# language, together with the Microsoft .NET platform and the ASP.NET MVC framework is especially well-suited if your main operating system is Microsoft Windows. C#, although possible, doesn't run well on Mac OS X nor Linux. It is the language of choice for many established corporations.
  • Ruby: Ruby together with the Ruby on Rails framework is a very popular framework for building web applications. Its community is wide and always helpful. You will find many resources online to help you with your learning.
  • Python: Python is often seen as a competing language to Ruby. The language itself is very well-suited for learning how to code. When it comes to developing web applications, there's the Django framework. I personally find that there are less resources available online for beginners but that is not a showstopper.

Now is the time to make a choice. Take your time, search online for these three options and find some feedback. Done? Alright, then jump to the section related to your choice.

Learning how to code with C#

Before jumping into C# itself, you will need a foundation of what coding actually is. Unfortunately, I've never found a reference to learn the basics of programming which uses C#. That is why I recommend that you first learn the basics using this book: Python for Kids: A Playful Introduction to Programming. Don't let the title fool you: it is an excellent introduction to programming! I keep recommending that one. And yes, it's Python so even if you go the C# route, you'll gain some basic Python skills along the way.

Jump into C#

Armed with a better understanding of what programming is, you can dive into an introduction to the C# language with Head First C#. As of this writing, the latest edition of the book makes use of Visual Studio 2012. Visual Studio 2013 has been released for a while but most examples will work with both versions. Or you can install Visual Studio 2012 to follow the examples exactly as they are presented to you in the book (there are free versions of Visual Studio, the Express editions).

Objects, you need them

C# is an object-oriented language. You picked that up from the previous book. If you still have some issues wrapping your head around the concepts, you can read the short OOP Demystified. You will really need to master these concepts to become a good C# developer.

Back to the web, learn JavaScript

JavaScript is everywhere on the web. You will need to learn the language too and I think that now is the perfect time for it. It's syntax is close to C# as both languages share a common ancestor: the C programming language. Again, Head First has an excellent book where you will learn what you'll need: Head First JavaScript Programming.

Pro C#

After all these introductions, it's time for something more technical. Professional C# 5.0 and .NET 4.5.1 is the book you are looking for. These 1498 pages will give you a deeper understanding of the C# language as well as how it interacts with the latest version of the .NET Framework. Sections of the book are dedicated to various types of programs you can build using C# such as Windows applications and Web applications.

To complete your basic training with C#, there's one book that is not optional and ranks among my all-time favorite programming books: C# in Depth, 3rd Edition. Learn from it thoroughly. It highlights and explains a lot of concepts many C# developers are not comfortable with. Things like delegates, lambdas, etc.

The ASP.NET MVC framework

You know HTML, CSS, SQL, C# and JavaScript. Next, you'll need to learn how to actually build a web application. Within the Microsoft ecosystem, it is done with a framework known as ASP.NET MVC. Pro ASP.NET MVC 5 (Expert's Voice in ASP.Net) will teach you that.

Congratulations! If you made it so far, you should now know how to build awesome web apps with C# and the .NET framework.

Learning how to code with Ruby

At first, you will need some programming basics. As it turns out, there's one book that will teach them to you using the Ruby language: Learn to Program, Second Edition (The Facets of Ruby Series).

Some more Ruby

Before you can get your feet wet with web apps development, you'll need a better understanding of the Ruby language. Read these two books, in this order: Eloquent Ruby (Addison-Wesley Professional Ruby Series) and then Practical Object-Oriented Design in Ruby: An Agile Primer (Addison-Wesley Professional Ruby Series).

Back to the web, learn JavaScript

JavaScript is everywhere on the web. You will need to learn the language too and I think that now is the perfect time for it. Again, Head First has an excellent book where you will learn what you'll need: Head First JavaScript Programming.

Ruby on Rails

When it comes to developing web apps using the Ruby language, the popular Ruby on Rails framework is your best bet as a beginner. Unfortunately, I can't recommend any book for the newcomer. There isn't any that I know of. Those that are supposedly intented for beginners skip too many concepts and don't really explain the magic behind Rails apps. That's where the Ruby on Rails: Level 1 Course from The Pragmatic Studio comes in. Know that compared to a book, it is not a cheap course at $179. But believe me, it's worth it.

Deeper with Rails

You now have two options to get the knowledge you will still be missing with Rails. Sign up for Ruby on Rails: Level 2 Course which will cost you $135 if you bought the Level 1 or read Agile Web Development with Rails 4 (Facets of Ruby).

When you reach this stage, you should be a well rounded Rails developer, ready to go out on your own! Congratulations!

Learn how to code with Python

There's a book that's well-suited for getting the basics of programming: Python for Kids: A Playful Introduction to Programming. No kidding. Don't let the title distract you. It is one of the best introductory text for learning how to program. It will teach you the basic knowledge you will need to master before continuing on your learning path. Actually, it is a book I also recommend if you choose to follow the C# path.

Learning the object-oriented way

Now that you have some Python and programming basics, you'll need to really understand what object-oriented programming is. This is what you'll find in Python 3 Object Oriented Programming. Don't skip this one, it's a gem!

Back to the web, learn JavaScript

JavaScript is everywhere on the web. You will need to learn the language too and I think that now is the perfect time for it. Again, Head First has an excellent book where you will learn what you'll need: Head First JavaScript Programming.

Python on the web with Django

If C# has ASP.NET MVC and Ruby has Rails, Python has the Django framework in order to code web apps. To learn Django, first complete the Django tutorial on Django's official site. Then, further your education with Two Scoops of Django: Best Practices For Django 1.6.

And now, you should be able to create fantastic web apps with Python! Congratulations!

Other technologies

What about other technologies? You may have heard about Java, PHP, NodeJS and more. They are all valid and widely used web technologies but unfortunately, I don't have enough experience using them to recommend a clear learning path.

Other resources

What about other resources? I can recommend the resources listed in this guide because I have a direct experience with them, whether reading them or teaching using them. You will notice that some Amazon books listed here use my referral id. It is not a ploy to make money but know that if you buy any of the resource listed in this guide, I receive a little something from Amazon. I would recommend these resources nonetheless and that's what I've done in my past guides.

Word of caution: whatever resource you choose in order to learn, stay away from what I consider gimmicks. These include expensive online courses that will teach you how to hack, not how to program. I will not name any here but if you are in doubt about a training outlet, just contact me and if I known them, I'll give you my opinion.

If you look in the sidebar on the right, there is also a list of books I recommend.

Interested in learning how to build apps for iOS and the Mac?

This is a shameless plug but if you have any interest in building apps for OS X or iOS (iPhone/iPad), together with Kyra and Guillaume, we are building Brick, a course aimed at the complete beginner that will teach you the basics of programming before moving on to developing apps for iOS and OS X using the Apple Swift language.

Don't hesitate!

If you have any question, don't hesitate to contact me or tweet. I don't guarantee a prompt answer but I'll will answer.


Set up Rails and PostgreSQL easily on OS X Mavericks

About a year ago, I wrote a tutorial about installing a Ruby on Rails development environment on OS X Mountain Lion. Here's an updated and easier version to set up Ruby, Rails and PostgreSQL on a fresh install of OS X 10.9 Mavericks.

Command line tools

Previously, you had to install the full version of Apple Xcode. Not anymore. Still, you will need to install the command line tools before going further. Open a terminal window and type this:

xcode-select --install

You will be prompted with a dialog containing 3 options: get Xcode, not now, Install. Select Install and wait for the operation to complete. This will install utilities like Git. Even if you don't use Git, you will need it to install RVM. Let's do that now.

RVM and why you need it

In order to develop using the Rails framework, you need to have a Ruby interpreter installed on your machine. The good news is that OS X comes pre-installed with one. The bad news is that it is an older version than the one we need.

Ruby Version Manager or RVM for short is a very useful piece of software that will allow us to have multiple versions of Ruby (and Rails and any other Gem) on our machine. Think of RVM as a virtual environments manager which will house specific versions of Ruby. You can then switch between versions at will.

Open a terminal and type the following command (you may need to enter your password at some point):

curl -L get.rvm.io | bash -s stable

Get Ruby

Now that RVM is installed on your machine, we can install a newer version of Ruby. We'll use version 2.1.2. If your terminal is still open, close it and relaunch it. When you open a terminal window, some scripts are executed and installing RVM added some. We need them.

Issue the following command (you will also need to enter your password during the install):

rvm install 2.1.2

Now, we'll make 2.1.2 the default Ruby. Just enter this command:

rvm use 2.1.2 --default

Install PostgreSQL

I see that many advocates the use of the Postgres.app. I personally don't like to use it as the config files don't get stored in a standard location and this location tends to change with updates to the Postgres.app. Instead, we'll install PostgreSQL using homebrew. Homebrew is a package manager for OS X similar to apt-get on Linux. You don't have to install it, it was done automatically when we installed RVM previously.

In a terminal window, issue the following command to make sure we are using the latest version of homebrew:

brew update

Then, we can install PostgreSQL with:

brew install postgresql

Start/Stop PostgreSQL easily (optional)

This step is not necessary if you know your way around PostgreSQL but I find it makes starting the PostgreSQL server and stopping it easier. Edit the hidden file .bash_profile located in ~/. Add the following lines at the end:

alias pg_start="pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start"
alias pg_stop="pg_ctl -D /usr/local/var/postgres stop -s -m fast"

Now, if you close and reopen your terminal, you'll be able to start PostgreSQL by issuing pg_start and stop it with pg_stop.

pgAdmin

You can also install pgAdmin, an excellent GUI administration tool for PostgreSQL. Get it here: www.pgadmin.org/download/macosx.php.

To connect to your PostgreSQL server from pgAdmin, make sure the server is running (pg_start if you took the previous optional step). Launch pgAdmin. You will need to fill in the name (I use local), the server name localhost and the username which is your OS X username. Leave the password blank.

Install Rails

Installing Rails is now trivial and you can install it like any other gem by issuing:

gem install rails

Here is a template for your Rails database.yml in order to connect your app to PostgreSQL rather than the default SQLite:

development:
  adapter: postgresql
  encoding: utf8
  database: database_name_dev
  username: your_osx_username
  host: localhost

test:
  adapter: postgresql
  encoding: utf8
  database: database_name_test
  username: your_osx_username
  host: localhost

production:
  adapter: postgresql
  encoding: utf8
  database: database_name
  username: database_username
  password: database_password
  port: <server_port>
  host: <server_address>

Editor

There are many text editors and IDE's for Ruby, Python and JavaScript development out there. I really like the open-source TextMate 2. Get it here: api.textmate.org/downloads/release. Hilton Lipschitz has an excellent tutorial on boosting your productivity with TextMate 2.

Shameless plug

Now, you have a complete development environment for Ruby and Rails. Why not test out RailsBricks to develop Rails apps faster? Install it with gem install railsbricks. You can also speed up your Git workflow with qwikGit. Get it with gem install qwikgit.


RailsBricks updated to 2.1.0

I have been quite busy these past months but I took the time to update RailsBricks to version 2.1.0. Have a look at the changes in the RailsBricks news.

What is RailsBricks already?

RailsBricks is an app generator I created to speed up Ruby on Rails development. RailsBricks is open-source. By the way, this site was built with RailsBricks!

Install RailsBricks

To get RailsBricks, just install it like you would install any other gem with gem install railsbricks.

Happy Ruby on Rails coding!


Week 31 in Tech

Mozilla appoints Chris Beard as CEO

Chris Beard moves from interim CEO to permanent CEO:

the board has reviewed many internal and external candidates—and no one we met was a better fit.

I wonder if those who were very vocal against Brendan Eich also stopped using JavaScript.

Cortana versus Siri

In a new ad from Microsoft, Cortana makes fun of Siri. Seems Microsoft is learning from Samsung in the ads department. When promoting a product, always make sure you compare it to an Apple one.

Raspberry Pi for Windows developers

Here's Microsoft's take on the Raspberry Pi: the $300 Sharks Cove. It is currently available for pre-order.

This "Windows compatible hardware development board" is designed to facilitate development of software and drivers for mobile devices that run Windows, such as phones, tablets, and similar System on a Chip (SoC) platforms.

Still, at $300, I wouldn't pitch it against a $100 Raspberry Pi.

New MacBook Pros

Apple refreshed its MacBook Pros lineup. Faster processors and more RAM.

Some numbers from an iOS indie developer

Jared Sinclair wrote an interesting perspective on iOS indie development regarding his experience with Unread.

I tend to disagree with the conclusion, though:

I conclude from all this that anyone who wants to make a satisfying living as an independent app developer should seriously consider only building apps based on sustainable revenue models.

I don't think the model of paid-upfront apps is a bad one. I think building yet another RSS reader when the App Store is filled with them is a bad model. The name Unread in itself is not a good one as when searching for RSS, Unread doesn't even show in the first 10 results. Remember: build (new) things people want and stay away from yet another note-taking, todo-list, rss-reader app if you really want to make a profit.

Apple CDN goes live

It seems Apple quietly launched their own CDN network as reported by Dan Rayburn.

Right now they control the entire customer experience, except for the way content is delivered to their devices, and they are quickly working to change that.

That's a good thing. Hope it can improve the speed of services such as iTunes Match and App Store search.

Less profit than expected in Q2 for Samsung

Samsung just released its Q2 numbers.

Operating profit for the quarter was 7.19 trillion, a 15-percent drop from a quarter ago.

Quick! Time to make another ad bashing Apple products!


Week 30 in Tech

Navigating the corporate speak

I really loved the analysis of Satya Nadella's email to potentially laid-off employees by Lee Hutchinson writing for Ars Technica. This part nails it:

The last sentence takes the anonymous could-be-from-any-company cake, though: Microsoft will "focus on breakthrough innovation that expresses and enlivens... digital work and digital life experiences." If you parse that, it turns out that what the e-mail says is "we will try to sell more things by making good things that people like."

Xcode beta 4

Xcode beta 4 was released. It adds public, internal and private modifiers to the Swift language and corrects many issues.

Brick: a complete beginner course on app development

This week, we announced Brick. It is a web-based course on app development for Mac and iOS with the Swift programming language. Intended for the complete beginner to programming, it is also suitable for seasoned developers wanting to learn the intricacies of developing for the Apple platforms.

Windows Phone going after the low-end market

According to analytics, the best selling Windows Phone are the low-end ones. Microsoft seems to continue with the strategy and announced the Lumia 530, a cut-down version of the Lumia 630.

Apple files a patent for an iTime smartwatch

According to Wired UK, Apple filed a patent for a smartwatch design named iTime. A possible announcement for September?

Amazon announces a $126 million loss in quarterly earnings

The whole quarterly financial breakdown is here. Well, their newly launched physical shopping cart didn't seem to help.

Continuity explained

Very good piece from Ars Technica: Explaining Continuity. If AirDrop, Handoff, iBeacon, etc... are still a black box to you, this article will shed some light.

Yosemite public beta is out

If you feel like bricking your Mac, the Mac OS X 10.10 public beta is out. Get it here. Or maybe, install it on a separate partition or in a VM ;-)


Displaying posts 1 - 8 of 80 in total





Brick
A comprehensive course on programming, focusing on Mac OS X and iOS devices using the Swift programming language.
RailsBricks
An app generator I created to speed up Ruby on Rails development. RailsBricks is open-source. By the way, this site was built with RailsBricks!
HowToCode.io
I founded HowToCode.io to teach high quality web development, for free. The aim is to take students from novice to employable.
Trakx
I love lists. I create many and for everything, really. Trakx is built with RailsBricks and is my own list management tool. It is free and anybody can sign up.
qwikGit
Speeding up Git common actions by wrapping them in single switches. For example, to add, commit, merge and then push to a remote repository, just type qgit -cmp instead of a long serie of Git commands.