bchen's comments

bchen | 8 years ago | on: Angular 5.1 and More Now Available

I have been working on an internal, form-heavy, app for a bank client for the past 6 months as my day job. I wouldn’t say I love Angular 2/4/5, but it does get the job done. Since Angular has a rather steep learning curve, having someone who has experience with it on the team will help avoid a lot of headaches and gotchas.

There are certainly some issues with Angular. For example, starting Webpack Dev Server is really slow (a minute or longer). Running a lot of tests with Kharma can be slow. If you know what the issues are and can either live with or work around them, then it is not that bad.

bchen | 9 years ago | on: The end of the clearfix hack?

To make a child element the same height as the parent, you can set the parent container to position: relative, and in the child element, set it to position: absolute; top: 0; bottom: 0. The downside of this trick is that the child element is now absolutely positioned and no longer behaves the same. Alternatively, you can use flexbox to do this, if using it is an option.

bchen | 11 years ago | on: Google Maps Pacman

They should implement one-way streets, where you have to obey the direction but ghosts don’t, to make Pacman even more interesting.

bchen | 11 years ago | on: Microsoft takes .NET open source and cross-platform

I am hoping JetBrains folks will port their suite of .Net tools to other platforms. Since the core of these tools is already cross platform (JVM-based), it may happen faster than Microsoft does to Visual Studio.

bchen | 12 years ago | on: Open-Source Static Site Generators

I’ve been doing the same—building a fairly large content-based website with around 100 pages for a telecom using Middleman. The site will be live soon, and I hope to be able to share more info about it when that happens.

So far, what I can tell is that Middleman provides a more efficient workflow than the database-driven CMSes I have used in the past.

bchen | 13 years ago | on: Sass Style Guide

Great list. I agree with most of these conventions, except the following:

> List "Regular" Styles Next

> List @include(s) Next

Depends on what the @include gives you, I would either treat @include the same as @extend and put @include after @extend, or just treat @include as regular styles and mix them together. The reason for this is that I generally organize my styles by listing block styles first and then the text styles. It would mess up this organization if all @includes that set only 1 property are listed the last.

bchen | 13 years ago | on: GitLab 4.0 Released

I agree that it bothers me to see Gitlab UI looking too similar to GitHub. I’m hoping that GitHub would not pursue any action against it. I also agree that Gitlab can’t compete against GitHub in the areas you’ve listed.

For my company, however, Gitlab makes a lot of sense. We have a large number of small and close source client projects to manage. We don’t want to pay for file hosting, e.g. $50 a month for 50 repos, when each repo is tiny and we can easily and cheaply host them. GitHub Enterprise is also out of question, as it is not very affordable by a small company.

Cost factor aside, Gitlab does have advantages over GitHub. Legal requirement is one, and the ability to integrate with other tools in the company is also quite nice. Although this feature has not been implemented yet, I look forward to the ability for Gitlab to integrate with Jenkins and display build status.

I will continue to use GitHub for personal and open source projects. For client work, Gitlab will be the one I use.

bchen | 13 years ago | on: Gitlab

Just installed Gitlab successfully on RHEL6. Some modifications to the installation steps:

- I used RVM to install Ruby 1.9.3. This should be fairly straightforward.

- adduser command has a different interface on RHEL, but it shouldn’t be hard to figure out.

- I used Apache ProxyPass instead of Nginx. unicorn.rb needed to be updated to listen on a tcp port instead of a socket file.

- Supplied init.d script did not work out of box. Some modifications were required.

- Redis server was installed from REMI.

Let me know where you’re stuck and I can try to help you.

I agree that Gitlab is not very easy to install, as there are many complicated steps. The benefits of having a free private GitHub, though, were totally worth it.

bchen | 13 years ago | on: How Lanyrd moved from AWS to SoftLayer and MySQL to PostgreSQL with no downtime

I don’t have experience with Rackspace, but, like the other commenter acangiano said, I only have good things to say about SoftLayer’s support for the past 4 years. Their customer service reps are quite responsive and can be reached either using tickets or phone. My issues were mostly addressed within an hour or two, even when it’s not during the normal office hours.

bchen | 13 years ago | on: Embrace the Static Web with Punch

It is popular among developers because:

- you can source control your blog content

- update your blog without ever leaving command line terminal or having to use less productive web interface

- use markdown, textile, html or whatever suits you

- easy to host and easy to scale

- no need to feel obligated to apply security patches

For me these are great reasons to migrate away from WordPress, Drupal and so on.

bchen | 13 years ago | on: Named Parameters in Java

Since long parameter list is considered a code smell, people should be discouraged from writing this kind of code anyways. Namely, this example from the article is in fact a bad practice:

> o.doSomething1("Alfred E. Neumann", "http://blog.schauderhaft.de, 42, "c:\\temp\\x.txt", 23);

As other commenters have pointed out, I think the builder pattern is one of the two solutions I would use. The other solution is to simply create an object that represents the values to be passed in to the method. Consider:

  User user = new User("Alfred E. Neumann");
  user.setLink("http://blog.schauderhaft.de);
  user.setUltimateAnswer(42);
  user.setTempFile("c:\\temp\\x.txt");
  user.setZip(23);
  o.doSomething(user);
Even with named parameters, I would say the latter approach is still superior than having a long parameter list.

bchen | 13 years ago | on: Mountain Lion seems to have addressed the memory management issues in OS X

This is slightly off topic, but make sure you are on the latest version of Parallels before doing the upgrade. For some reason, Parallels 6, which is less than 2 years old, does not support Mountain Lion. Personally, I do not care about the new features in Parallels 7, but was a bit annoyed when forced to upgrade.

bchen | 14 years ago | on: Daring Fireball: iPad (3)

To use SD cards, use Camera Connection kit. To play common video formats, use apps, such as AVPlayerHD. To use your iPad as a removable drive, use iExplorer (no jailbreaking required). If you don't want to use iTunes, you can completely avoid using it as well. The only thing that requires iTunes is to put your music on it. iTunes can be optional if you don't need to do this.

Regarding repurchasing apps, it may be a good thing. There are plenty of good iPad apps, which fully take advantage of the tablet form factor. Although I have not used many Android tablet apps to prove it, Tim Cook should have good reasons to criticize about tablet apps on Android.

page 1