Software Development Position Open

See this post and more at GZTechjobs!

酷德软件创立于06年,我们是纯技术的跨国团队,专注于开发专业拍卖软件平台(web的系统)。

公司目前在业界(拍卖软件)处于领先位置,开始进入快速发展阶段。在这里,除了完成项目,我们会花很多时间维护自己的核心框架,所以你更多时候是在一个垂直领域中成长,也有更多的时间写漂亮的、可维护的代码。

另外,我们也与其他 ruby 公司一起赞助和组织广州 ruby 社区活动:gzruby,guangzhou rails girls。

在空余的时间,我们也会头脑发热,开发一些移动应用、web应用,尝试各种新的技术,虽然大多收益仅能维持服务器租赁:)。以下是一些不务正业的项目:

http://pleasesign.in/
http://schedule.ph/
http://prdguide.com/


如果你:

有很强的、快速的学习能力
熟悉/精通 ruby, rails, javascripts, html
如果你没有 ruby 经验,懂 python, php, java, .net 等等,在 web 开发造诣一流,我们非常欢迎,因为 ruby 很容易掌握,你的编程思想则更重要
良好的 git, svn 团队开发习惯
熟悉 ubuntu, centos 系统部署
熟悉任意一种数据库
熟悉面向对象开发,设计模式


加分:

有 github 账号
有独立的技术博客
良好的英语能力,日常bug报告、即时通讯、文档都是英文的,当然口语不行可以学习

我们为你提供:

宽松的工作环境:上下班不需要打卡,一般不加班
有竞争力的薪酬+年底奖金,国家标准的五险一金+商业意外保险(主要是为了防止个人日常生活意外、体育运动受伤),带薪年假
周一到周三的中午饭,周五的公司大聚餐,每天下午茶、水果
中秋、新年购物卡或红包,新生儿红包,项目忙时候,会有一些惊喜礼物
每年一次公司旅游,阳朔、泰国、菲律宾,今年未定,可能是去巴厘岛边玩边工作一段时间?

可能有的机会:
到世界各地出差,参加各地的 ruby、rails 大会
工作地点:我们的办公室在五羊新城,地铁口五羊邨A出口

请发简历(中英文)到:hr2014@kudelabs.com

Posted by adevadeh 20 Feb 2014 at 06:49AM


GZRuby Graduates to a new Venue - July 17, 7:30PM

After 2 years at the kudelabs office, gzruby has outgrown our humble common room. We have decided to move to a new venue - one with more space, and we think it will be a lot more fun! As always, gzruby is about getting a bunch of people together to talk about what we all do for a living. Its a chance to learn from each other, and find ways to improve our craft. If you are a ruby developer who has never attended, its like finding a new group of friends that you never knew you had.

View the invitation at the gzruby home page

The new venue is close to our office, close to Zhu Jiang New Town, and features hand-crafted beers made by one of Kudelab's former interns!

Posted by adevadeh 10 Jul 2013 at 02:14PM


Kudelabs Summer Internships 2013

We take our summer internship program very seriously at Kudelabs. Guangzhou has wonderful universities with hundreds of very qualified graduates every year. This year we posted 2 openings, and we're proud to announce that they have been filled. We'll be welcoming our new interns soon!

Posted by adevadeh 26 Jun 2013 at 09:34AM


Company Trip: Camiguin Philippines!

Kudelabs in Camiguin

Every once in a while we just need to get away from it all, and that's what we did! The whole Kudelabs team took off from Guangzhou for 3 days to the amazing Camiguin island just off the coast of Mindanao. Getting there was no joke: 2 flights, a 2 hour jeepney ride, and a 1.5 hour ferry ride later we were finally on the island.

The island of Camiguin at sunrise

Camiguin is an absolutely magical place. Over 3 very busy days, we snorkeled with meter-long fish, swam at the base of a 75m waterfall, hiked 10 hours over the top of an active volcano, and watched the sun set from a black sand beach as children of fishermen played in the waves around us. I won't even start on the food.

Looking back at Camiguin from the tiny Mantigue Island

By the time we got back to Guangzhou, we were super tired, but ready to get back to work! Thank you Philippines for an amazing adventure!

Posted by adevadeh 06 May 2013 at 05:19AM


Upcoming events in GZ: GZRUBY and StartupGrind GZ

GZRUBY10 - Wednesday Jan 16 - 7:30PM

GZRUBY10 will be held at the Kudelabs offices this wednesday evening, starting at 7:30. GZRUBY is a gathering of ruby developers, Kudelabs is one of the sponsors along with other ruby development companies in the city. Its always a lot of fun and a great chance to meet up and talk web development. Find out more at the Guangzhou Ruby Group page.

StartupGrind Guangzhou with Clement Song - Friday Jan 25 - 6:30PM

StartupGrind is a global network of startup communities that was established to educate, inspire, and connect entrepreneurs in the city. Here in Guangzhou, we see it as a way to connect the English speaking world with the Chinese startup ecosystem. The second event features founder Clement Song, who founded eCitySky and successfully completed an acquisition to YY Inc. He's now with YY as the Directory of Platforms and Services, and was able to experience an IPO first hand. Find out more at StartupGrind Guangzhou Meetup page.

GZ Plumeria

Posted by adevadeh 14 Jan 2013 at 05:24AM


Hiring: Software QA Intern

Kude Labs (酷德实验室) is a growing software development firm focused on building high quality web applications. Our office is located in Guangzhou Wuyang District (广州市五羊邨).

We are happy to offer internship positions for students looking to improve their skills and gain some practical experience working on real-world projects. Intern positions are part time and can transition into a full time position after graduation. The majority of our full-time employees joined our team first as interns.

Software Testing Intern - Web applications


We are looking for smart Quality Assurance engineers for testing the Web Applications we develop.

Ideal candidates would have:

  • Outstanding analytical thinking abilities
  • Patient and precise work style
  • Major in Computer Science or Mathematics related studies
  • Experience with open source tools
  • Excellent written and oral communications skills
  • Self motivated and able to work independently
  • Nonjudgemental, welcoming attitude

To Apply:
Please send an ENGLISH letter of interest, references and resume to: intern2012@kudelabs.com.

We look forward to working with you and welcoming you as a part of the Kudelabs family.

See more internship and full time positions at GZTechJobs.com

Posted by adevadeh 15 Nov 2012 at 10:07AM


Join us for GZRUBY9: Wed Nov 21, 7:30PM

The 9th gzruby meetup will be coming to the kudelabs offices in Guangzhou next Wednesday, November 21st at 7PM. We'd love to see you there! You'll meet several members from the growing Ruby community in our city, and have a chance to present an idea you're working on or a gem you use. Feel free to invite anyone who may be interested in ruby, or learning more about Ruby on Rails.

Some small snacks and drinks provided. Many thanks to continued support from Strand Beer and this month's sponsor: Beansmile

See more about this event at gzruby.org: gzruby9 - Nov 21, 7:30PM

gzruby is the Guangzhou Ruby User's group, we meet once every 2 months to share tips and techniques, as well as show off recent projects.

Posted by adevadeh 15 Nov 2012 at 02:58AM


Rails Two-factor Authentication

Given the problems passwords pose, isn't it time to offer people a second authentication factor? Your bank does it. Google does it. Even games do it. You can too. How hard is it to get Rails set up with a one-button six digit authenticator? Not hard at all! The hardest part was knowing where to look and what to get.

Close inspection of the dongles we already have revealed one name printed on them all: VASCO. VASCO provides the physical token you hold in your hand. We ordered a few of these. VASCO also provides the server software to authenticate tokens. The software comes in all sizes: enterprise, cloud, but for us the perfect match is just a C API called the VACMAN Controller. It runs on Windows, Linux, some more exotic OSes, but not Mac OS X.

How does it work? Each token has a serial number and contains a clock. When you press the button, the token shows a six digit one-time password based off that clock. Send the serial number, the password, and a little magic to the C API. It returns whether everything matches up right now. (So the clock on your server better be on time.)

How does the C API know whether the serial number and password match? In the beginning, VASCO creates a special encrypted file for you. It records how the clock and the serial number are synchronized. Before anyone can use their tokens, you have the API import the special file. It returns a data-structure with authentication information. Pass this magic struct with the serial number and password when authenticating. After authenticating, the data-structure is updated. Besides simple statistics like number of successful authentication attempts, the data structure stores information about token's internal clock. This allows the API to compensate for gradual time drift. The API itself is stateless. It's your job to keep track of the tokens and the data-structure.

Okay, but how does it work with Rails? As always, apply a little bit of glue. SWIG makes wrapping C APIs easy. This time was no exception though we did need to do a little more to allocate and free data-structures than usual. For the database, use ActiveRecord if that's your thing. We went with Sequal. We used two tables:

  • One table maps user names to token ids.
  • The other table maps token ids to magic data-structure blobs.

That's it really. We just use a script to import the import the token info. We don't use enough tokens to try to automate further.

Posted by william 15 Nov 2012 at 02:07AM


It's sunny in Guangzhou

Summer in GZ brings some really hot weather! But it also brings tremendous rainstorms, clear skies after the rain, and excellent fruits. We currently have a blooming starfruit tree. I hope it is able to bear fruit later in the season.

startfruit blooming

Posted by adevadeh 06 Jul 2012 at 08:12AM


Releasing Textilize gem for Rails3 without C extensions

      Rails 3.X doesn't have the textilize and textilize_without_paragraph helper methods. Textilize is a gem brings back the missing method for Rails 3, and it includes the library RedCloth 3.0.4, which doesn't need to be compiled on server. Btw, The newest RedCloth is currently at 4.X though, it requires compiling C extension.

  

      The reason we need this gem is that we use :textilize at a few places in our apps, and we don't need super fast RedCloth, we just need a working version that don't force us to install C extensions on various production servers. This could be useful for bundle-package usage, where you can rely on the bundle/cache gems.

  
Related Links: 

       Sourcecode: http://github.com/kudelabs/textilize 
       RubyGem: http://rubygems.org/gems/textilize

  

Posted by Mysen 06 Jul 2012 at 04:51AM