HNHacker News
TopNewBestAskShowJobs

vlisivka

156 karma · joined February 7, 2009

http://linux.org.ua/

http://trac.assembla.com/bash-modules/

contact: gtalk:vlisivka@gmail.com , skype:vlisivka

submissionscomments
vlisivka··on Ask HN: Non-coding, single founders?
> I have a number of startup ideas.

I have too.

> I'm rather independent - and I don't have any coder friends.

I am too - and I don't have any business-oriented friends.

> The thing is: I don't code.

I can, but I face same problem - I cannot do lot of other things, like marketing, market research, etc. ;-)

You can hire developer to teach you some programming and pay for consultations when you in doubt. I cannot hire businessman to teach me business. :-( So, don't worry - you are at better standing point than most of HN visitors.

PS. I am strong in Linux/Java/Perl/Bash/HTML/Server side. I am Ukrainian (Eastern Europe). Drop me email at vlisivka@gmail.com , if you are interested to teach me some business.

vlisivka··on The rise of Anti-Distraction Software
In Linux, just switch to text console. :-)
vlisivka··on Playlist of YouTube videos linked from top 1024 HN stories
Can it be viewed by MiniTube (native YouTube client) or an another native client?
vlisivka··on Sailing into the wind, or faster than the wind
To gave momentum, you need to throw out something: air or water. If you need to drive into wind, you can only throw out air to one of sides by sail and compensate some energy by throwing some water to opposite side by fin.

Of course, you can use wind-powered generator and electric motor to drive into wind by throwing water. With wind-powered generator and plain sail you can drive to any direction.

(Sorry for my English).

vlisivka··on Your Office Chair Is Killing You
I created kneeling stool for myself using bicycle seat and two strips, but found that regular flat stool is much better. When sitting, I stretch my legs and lower my knees as wide and as low as I can, so my back is flat.

(Sorry for my English).

vlisivka··on Your Office Chair Is Killing You
I use Gnome built-in timer (see keyboard options). You can use WorkRave.org, or similar program (google for "RSI break program").
vlisivka··on Reboot PHP: keep the philosophy, improve the syntax (PHP on the JVM)
See http://phpwithjava.appspot.com/info.php
vlisivka··on [dead]
To solve a problem, you need to create it first! (first rule of politics).
vlisivka··on Ubuntu 11.04 will remove the notification area (systray)
> I would want the ability to either minimize any app to a normal toolbar or dock to a system tray.

Use alltray: [quote] Dock any application in the tray

With AllTray you can dock any application without a native tray icon into the system tray. It works well with GNOME, KDE, XFCE 4, Fluxbox, and WindowMaker. [/quote]

PS.

I prefer to use switch-or-exec plugin in Sawfish at hot-key: I will press hotkey, Sawfish will switch to application desktop area and then bring application window. If application is not running, then Sawfish will run it. Configuration is very simple: regexp for window title or window properties to find application window and command line to execute when application window is not found.

For example, I can press "Alt-Shift-e" to switch to editor window to enter few notes. If editor is not found, then new editor will be run. When I will finish, I will press "Alt-Shift-b" to switch back to browser, "A-S-m" for mail, "A-S-i" for IDE, "A-S-t" for terminal, and so on.

vlisivka··on Why Perl 6 is different
> Perl's syntax is designed to be more close to natural language.

s/natural/English/. Some languages can be parsed by computer without problems. For example, simple 15kb C program can parse 100% of technical text in Esperanto, 98% of technical text in Ukrainian (my native language), 84% of technical text in Russian, and so on. Not so simple parser can parse more than 100% of text, i.e. it can fix errors in text.

For me, shell is much closer to my native language than perl or SQL.

PS. AFAIK, there is no natural language in the wild nature. :-/ All human languages are artificial.

vlisivka··on Java 7 - What's new? Release date, code examples and performance
Why you worry?
vlisivka··on Java 7 - What's new? Release date, code examples and performance
Yes, you right. This is very cheap way to initialize ArrayList. I use it too.

Did you know something similar for Map's? :-)

vlisivka··on Java 7 - What's new? Release date, code examples and performance
> Or use Google Collections in Java 1.5 or higher.

See Sandman reply.

vlisivka··on Java 7 - What's new? Release date, code examples and performance
If you cannot wait for Java 1.7, use usual trick with anonymous classes and static initializer block:

  Java 1.7:
  List<String> list = ["item"];

  Java 1.2:
  List<String> list = new AList<String>() {{ items=["item"]; }};
where:

  public class AList<T> implements List<T> {
    protected T[] items;
    // Implementation
 }

  Set<String> set = {"item"};
  Set<String> set = new ASet<String>() {{ items={"item"}; }};

  Map<String, Integer> map = {"key" : 1};
  Map<String, Integer> map = new AMap<String, Integer>() {{ keys=["key"]; values=[1]; }};

I can post detailed explanation and examples of this technique, which I love to use, in my blog, if somebody will be interested. (English is foreign language to me).

It is much better than to use full blown implementation and bunch of setters just to pass around one or two elements.

I often use this technique to pass optional data to/from methods or to program in declarative style in java.

vlisivka··on Subversion Vision and Roadmap (spoiler: no DVCS)
Yeah. But it is hard to send local branch to review to other team members when Subversion is used on the project.

We use Savana to add proper branches to Subversion. Tool lacks polishing, but it is helpful. It is simple to use: you can create private branch, sync your private branch with parent branch, and promote your private branch to parent branch ( http://savana.codehaus.org/gettingstarted.html ). It is not a git replacement, of course.

vlisivka··on Stop using Windows Notepad
"cat -v" saved lot of my time in cases like that.

I had similar problem with nbsp, until I moved nbsp from second level (shift+space) to third level in XKB configuration in my Gnome/Fedora/Linux.

vlisivka··on Ask HN: Is this true?
I am developer (about 12 years of commercial experience, more than 20 years of total experience). I was tech-lead of admin team on last big project for about 3 years.

I can administrate servers (about 9 years of commercial experience, about 20 years of total experience with UNIX administration, starting from school), but I hate that. My choice is to create copy of the server, then make changes and write them down, then test them on the copy, then apply verified solution to production server (see http://vlisivka.pp.ua/en/modern_administration , sorry for my English).

I even implemented my own run-book automation tool, which reads documentation and then executes steps in automatic or semi-automatic mode (I prefer Documentative Programming style).

I often prefer to develop script or RPM package to make change to the system instead of making changes by hands.

vlisivka··on Get notifoed when people reply to your comments on Hacker News
crontab + wget + diff + grep -v + mail
vlisivka··on Code maintainability, and the joy of outsourcing
Developers can communicate with each other. It is not hard to write email to developer, which email address is written in source header.

If developers unable to communicate, they will use copy-paste. They will create copy of broken code, rename, refactor and fix it, and will use it in their own code only. I SAW that.

Good code quality is achieved through review system. Someone must just block bad code, until he will burn out.

vlisivka··on Finish The Projects You’ve Started
Programming has low ROI(Return Of Investment) very often. Try to improve your ROI, i.e. code small, reusable parts, then assemble big projects from these small parts.

For example:

  * you can write code generator instead of code;
  * you can write (small) library first, then use it in your programs;
  * you can prepare templates and wizard program, which automates creation of typical code;
  * (for Linux) you can prepare package, which is easy to install.
General rule: try to save your future time, even when you need to sacrifice some today time for that.

Just for example, every command line program needs option parsing. Write template for typical option parsing routine, keep it in separate directory, improve it over time, write generator, which will just substitute program name. Even if your project will fail, you will still have this small piece done, and it will save some of your time at every new project.

(Sorry for my English).

vlisivka··on Finish The Projects You’ve Started
> I don't see the advice in this article. Surely, for any project, you either finish it, or you don't. There is no other choice.

Outsource? Delegation? Give away to community?

vlisivka··on Ask HN: Buzzword for *.d directories?
I am leader of national Linux user group (http://linux.org.ua/) . What I should say on #linux channel or at superuser.com?

Currently, .d directories are referred as "configuration directory" in manuals, in opposite to "configuration file" (.conf). See man modprobe.d for example.

But I need a word to popularize this style of configuration. ".d directory" is bad name for googling.

Maybe Dot-D-Dir (DDD) or Dot-D-Configuration-Dir (DDCD)? But these abbreviations are already taken. :-(

vlisivka··on A NetHack adventure
You can watch other players in realtime here: telnet://nethack.alt.org . More resources: http://alt.org/nethack/
vlisivka··on The best bug tracking system. Don’t raise bugs, write an automated test
Yes, it looks like manual test.

BUT, when QA team found problem, you can create automated test case, which will look for that particular problem only. Right?

For example, QA noticed "clicks" every few seconds in resulting sound. Is it hard to create automated test case for that?

vlisivka··on The best bug tracking system. Don’t raise bugs, write an automated test
We had manual test case for "page looks correct" test. It consists of more than 10 checks, i.e. "no JavaScript errors", "no miss-spelled words", "consistent look across pages", "no broken links", etc.

More than half of that list is already automated.

vlisivka··on The best bug tracking system. Don’t raise bugs, write an automated test
Typical QA cycle:

  * find problem;
  * identify root cause of the problem;
  * write automated, semi-automated or manual test case, which will highlight problem;
  * fix problem.
If you will not use test cases at development and staging stages, then you will just use your production environment for testing purposes. If your downtime cost you nothing - don't bother with test cases.

In our case, we had similar problem, so I created very simple test case in shell in less than 2 hours. We spent more than year until it was fully fixed.

vlisivka··on The best bug tracking system. Don’t raise bugs, write an automated test
> * "Try it Now" button sometimes drops below the "Learn More" button in FireFox

Use JavaScript or Selenium for that Test case. Get coordinates of buttons (getBoundingClientRect()) and compare them. Execute this test case on tons of different configurations.

> * Capitalization inconsistent in top nav

Easy to test. Also add spell checking along the way.

> Popup blockers occasionally stop the App window from opening properly

Selenium?

> Wierd timeout errors clumped around 1:00 am every few nights

You always can shift clock automatically (on Linux).

> Accounting needs to be able to call up weekly income reports

If it is missing feature, then no test case is need until you will start work on it.

PS. If you want to automate your manual testing, you will look for ways to do that. If not, you will look for problems, which are prevents you from doing that.

I wrote example how to execute HTMLUnit tests at build stage because I want that. Almost everybody else says that this is not possible. ( http://vlisivka.pp.ua/en/integration_testing_with_maven_test... )

vlisivka··on How to Wake Up Ready to Rock
Cons: Cost is huge, quality of FM radio sound is poor, it produces 50/60HZ noise also, so I cannot place it near to my bed.

Pros: It works. I often wake up at first light or even slightly before that. :-/

vlisivka··on How to Wake Up Ready to Rock
Buy cheap Polyester fleece blanket - they are warm like wool but easy to wash, allergy free, and very cheap (about $10). Don't torture yourself.
vlisivka··on How to Wake Up Ready to Rock
You should also eat breakfast early and at same time each day. Don't eat breakfast when you wake up too late, so your body will remember that. ;-)

I.e. don't eat after 7:00pm, eat breakfast only between 8:00am - 8:15am, don't eat after 8:15am.

← PreviousPage 4 of 6Next →