Links | Dmytro Shteflyuk's Home https://kpumuk.info In my blog I'll try to describe about interesting technologies, my discovery in IT and some useful things about programming. Thu, 11 Jan 2018 23:34:44 +0000 en-US hourly 1 https://wordpress.org/?v=6.4.3 Weekly Link Dump #2 https://kpumuk.info/links/weekly-link-dump-2/ https://kpumuk.info/links/weekly-link-dump-2/#comments Tue, 22 Sep 2009 13:51:04 +0000 http://kpumuk.info/?p=1035 Time to post some interesting stuff I’ve found in Internet last week. Today we going to talk about CSS font stacks, Ruby structs, extract_options! method came from Active Support, bash scripting, software version control visualization. When I started posting links, I decided not to mention articles posted by Smashing Magazine, thoughtbot and other sites which […]

The post Weekly Link Dump #2 first appeared on Dmytro Shteflyuk's Home.]]>
Time to post some interesting stuff I’ve found in Internet last week. Today we going to talk about CSS font stacks, Ruby structs, extract_options! method came from Active Support, bash scripting, software version control visualization.

Guide to CSS Font Stacks: Techniques and Resources

CSS Font stacks are one of those things that elude a lot of designers. Many stick to the basic stacks Dreamweaver auto-recommends or go even more basic by just specifying a single web-safe font.

But doing either of those things means you’re missing out on some great typography options. Font stacks can make it possible to show at least some of your visitors your site’s typography exactly the way you intend without showing everyone else a default font. Read on for more information on using and creating effective font stacks with CSS.

When I started posting links, I decided not to mention articles posted by Smashing Magazine, thoughtbot and other sites which everyone reads. But this is totally awesome: a complete guide on font faces, list of font tools and articles about typography. I promise, I will not publish links from Smashing Magazine ever again.

Structs inside out

Today we’re back to normal blog mode, where each article stands for itself. Muppet Labs are closed and we will be continuing our journey across the Ruby universe starting with an indepth look at Ruby’s Struct class — Ruby’s Swiss army knife for structured data.

Struct can be used without any additional require statement — it’s just there. This means it comes with zero additional overhead during initial interpreter startup — one of the many advantage of using Struct. But first let’s look at the basics.

Great Ruby Struct class usage examples.

Inside Ruby on Rails: extract_options! from Arrays

How many times did you see a method call like the following one in your Rails application: my_method :arg1, :foo => true?

What makes my_method quite special is the ability to pass an arbitrary number of parameters (:arg1, :arg2…) followed by a list of keyword/value options.

This is made possible by a really helpful method provided by ActiveSupport called extract_options!. What this core extension does is to extract the options from the given set of arguments. When no options are available, the method returns a blank Hash.

Nice Ruby on Rails method I didn’t know.

Advanced Bash-Scripting Guide

The shell is a command interpreter. More than just the insulating layer between the operating system kernel and the user, it’s also a fairly powerful programming language. A shell program, called a script, is an easy-to-use tool for building applications by “gluing together” system calls, tools, utilities, and compiled binaries. Virtually the entire repertoire of UNIX commands, utilities, and tools is available for invocation by a shell script. If that were not enough, internal shell commands, such as testing and loop constructs, lend additional power and flexibility to scripts. Shell scripts are especially well suited for administrative system tasks and other routine repetitive tasks not requiring the bells and whistles of a full-blown tightly structured programming language.

Old good guide for the bash scripting. Must read for any developer.

gource — software version control visualization

Gource is a software version control visualization tool for Git and CVS.

Software projects are displayed by Gource as an animated tree with the root directory of the project at its centre. Directories appear as branches with files as leaves. Developers can be seen working on the tree at the times they contributed to the project.

This freaking awesome tool produces animated visualization of source code history based on Git or CVS reporsitory. Also take a look at the code_swarm project, which does very similar things.

PS. Did you notice a new threaded comments structure in this blog? Also I have rewritten theme layout a little, so there is HTML5 here now.

[lang_ru]
ЗЗЫ. Журналисты WebStream.com.ua взяли у меня интервью. Читаем здесь.
[/lang_ru]

The post Weekly Link Dump #2 first appeared on Dmytro Shteflyuk's Home.]]>
https://kpumuk.info/links/weekly-link-dump-2/feed/ 2
Weekly Link Dump #1 https://kpumuk.info/links/weekly-link-dump-1/ https://kpumuk.info/links/weekly-link-dump-1/#comments Mon, 14 Sep 2009 09:48:01 +0000 http://kpumuk.info/?p=971 This is a first link dump in this blog, where I will list all interesting links that I have found in Internet. I plan to post link dumps once a week, so stay tuned to read most useful stuff with no effort. Todays topics are: organizing your CSS, top mistakes made by WordPress plugins authors, […]

The post Weekly Link Dump #1 first appeared on Dmytro Shteflyuk's Home.]]>
This is a first link dump in this blog, where I will list all interesting links that I have found in Internet. I plan to post link dumps once a week, so stay tuned to read most useful stuff with no effort. Todays topics are: organizing your CSS, top mistakes made by WordPress plugins authors, ways MySQL uses indexes, and the git version control advantages over the Subversion.

Beautiful CSS: Organizing Your Stylesheets

When I first took the plunge into CSS several years ago, one of my biggest frustrations was stylesheet organization. I scoured source code from popular sites trying to figure how they accomplished various layout effects. But tracking back and forth from stylesheets to HTML proved to be a difficult task. Unfortunately , that separation of style and content that makes CSS so awesome can also make it difficult to understand. Adding to that difficulty is the fact that each designer may have a different way of organizing stylesheets. If you inherit someone else’s site, this can cause some problems. In a perfect world everyone’s CSS would be well-organized, easy to scale, and easy to understand. We may not be able to attain such CSS Nirvana but we can at least make it easier on ourselves and those we work with by following this set of guidelines.

A nice article about organization of your CSS code. Author recommends to split your CSS code to several sections (universal styles, library styles, template layouts, individual page styles.) Also he proposes to indent styles related to nested HTML elements.

Top 10 Most Common Coding Mistakes in WordPress Plugins

As promised, I’m going to share a list of the most common mistakes, errors, misunderstandings, bad habits or wrong design decisions I’ve encountered while reviewing all these 43 plugins. Some are highly critical stuff (I’ve contacted 3 plugins authors after finding serious security holes in their plugin), some are more potential annoyances than real bugs, or are just causing a waste of server resources that could be avoided, but all have something in common: they’re trivial to fix. I’ve classified them in two parts: 10 bad code signs, plus a bonus with design decisions that suck. If you consider yourself a semi experienced coder or better, be sure to skip this article, you’re not going to learn a thing.

A comprehensive list of common pitfalls of WordPress plugins authors. If you maintain a plugin, please read this article carefully, most of mistakes are quite common (yes, I found several issues with my ones

3 ways MySQL uses indexes

I often see people confuse different ways MySQL can use indexing, getting wrong ideas on what query performance they should expect. There are 3 main ways how MySQL can use the indexes for query execution, which are not mutually exclusive, in fact some queries will use indexes for all 3 purposes listed here.

You should read it. Period! Article covers all ways how MySQL uses indexes: filtering rows, sorting data, and reading data.

Why You Should Switch from Subversion to Git

You may have heard some hubbub over distributed version control systems recently. You may dismiss it as the next hot thing, the newest flavor of kool-aid currently quenching the collective thirst of the bandwagon jumpers. You, however, have been using Subversion quite happily for some time now. It has treated you pretty well, you know it just fine and you are comfortable with it – I mean, it’s just version control, right?

Yet another article about git and what features make it so wonderful tool for any developer. Author covers main features of this version control system, and explains how it could improve your work and boost your productivity. Hey Subversion (SourceSafe, CVS, etc) users, I do not accept any excuses, you definitely should read it. Yes, right now!

The post Weekly Link Dump #1 first appeared on Dmytro Shteflyuk's Home.]]>
https://kpumuk.info/links/weekly-link-dump-1/feed/ 1
Human computations https://kpumuk.info/links/human-computations/ https://kpumuk.info/links/human-computations/#comments Sat, 01 Sep 2007 17:12:22 +0000 http://kpumuk.info/internet/human-computations/ Very cool video about free human resources usage I have found the other day. As you could see from my resume, I’m graduated from the Intelligent Decision Support Systems Department of the Kharkov National University of Radio-Electronics. I don’t remember too much from my courses (but I know where and what to search when some […]

The post Human computations first appeared on Dmytro Shteflyuk's Home.]]>
Very cool video about free human resources usage I have found the other day. As you could see from my resume, I’m graduated from the Intelligent Decision Support Systems Department of the Kharkov National University of Radio-Electronics. I don’t remember too much from my courses (but I know where and what to search when some sort of knowledge will be necessary, be sure), but what had stuck in my memory is that there are tons of tasks which can’t be easily solved: images classification, object detection, automatic expert systems knowledge bases building, etc. Some of these tasks are partially solved and have satisfactory results (for example mathematical and statistical methods of objects detection), others have bypassing methods (for example, Google uses text from HTML links to classify images). The main reason is that computers are not so smart as humans (maybe it’s not so bad, just think of the “The Matrix” movie).

So, little more about the video. Luis von Ahn, an assistant professor in the Computer Science Department at Carnegie Mellon University, explains the idea of how to use resources of millions of people absolutely free, and get results unachievable by today’s high-end computers. He is very smart, and I took a delight in watching his performance (yeah, performance, because his jokes were no worse than jokes of the best comic actors I’ve seen). I strongly recommend you to watch it, even if you hate artificial intelligence.

Here is an abstract:

Tasks like image recognition are trivial for humans, but continue to challenge even the most sophisticated computer programs. This talk introduces a paradigm for utilizing the human processing power to solve problems that computers cannot yet solve. Traditional approaches to solving such problems focus on improving the software. I advocate a novel approach: constructively channel human brainpower using computer games. For example, the ESP Game, described in this talk, is an enjoyable online game — many people play over 40 hours a week — and when people play, they help label images on the Web with descriptive keywords. These keywords can be used to significantly improve the accuracy of image search. People play the game not because they want to help, but because they enjoy it.

I describe other examples of “games with a purpose”: Peekaboom, which helps determine the location of objects in images, and Verbosity, which collects common-sense knowledge. I also explain a general approach for constructing games with a purpose.

And the video itself:

Stop playing solitaire! Help Google to grab the World!

BTW, “Peekaboom” is consonant with my current project name. No, I’m not developing another clone of the “game with a purpose”. No, I won’t tell you what the project is, at least now. Have other questions?

The post Human computations first appeared on Dmytro Shteflyuk's Home.]]>
https://kpumuk.info/links/human-computations/feed/ 10
Interactive developer https://kpumuk.info/links/interactive-developer/ https://kpumuk.info/links/interactive-developer/#comments Tue, 02 May 2006 10:36:30 +0000 http://kpumuk.info/internet/interactive-developer/ Today I found wonderful page where you can dispatch commands to programmer. You can enter command, for example dance, sleep, and he will execute them. Page was developed using ASP.NET technology and Visual Studio Express. Our Subservient Programmer was created using Visual Studio Express — C#, Visual Basic and Visual Web Developer flavors. When the […]

The post Interactive developer first appeared on Dmytro Shteflyuk's Home.]]>
Today I found wonderful page where you can dispatch commands to programmer. You can enter command, for example dance, sleep, and he will execute them. Page was developed using ASP.NET technology and Visual Studio Express.

Our Subservient Programmer was created using Visual Studio Express — C#, Visual Basic and Visual Web Developer flavors. When the application is idling, you can see the programmer working at his computer. After entering a command phrase, such as “test”, the programmer will be shown doing your bidding. Once the programmer has completed the task, he will resume working at the computer as he was before and allow you to enter another command.

I like following commands:

  • recurse
  • instance
  • employee
  • dance
  • fight
  • run
  • sleep
  • die
  • walk
  • kiss
  • angry
  • pray
  • fly
  • program
  • scream
  • channel 9
  • microsoft
  • linux
  • porno
  • scream
  • phone
  • fall
  • smoke
  • drink
  • eat
  • joke
  • work
  • drunk
  • read
  • cry
  • music
  • jump
  • test
  • cold
  • break
  • visual studio
  • exit
  • build
  • clown
  • spy
  • ball
  • wave
  • climb
  • chicken

Hint: you can install ClickOnce Application to get command suggestions.

And now several screenshots will be shown.

Subservient Programmer - idling Subservient Programmer - dizzy Subservient Programmer - fight Subservient Programmer - die Subservient Programmer - music Subservient Programmer - draw
The post Interactive developer first appeared on Dmytro Shteflyuk's Home.]]>
https://kpumuk.info/links/interactive-developer/feed/ 4
New administrator’s blog has been founded https://kpumuk.info/links/new-administrator-s-blog-has-been-founded/ Sun, 26 Feb 2006 21:42:00 +0000 http://kpumuk.info/life/28/ My best friend Alexey Kovyrin founded new blog — Homo-Adminus Blog. As he mentioned in our conversation this blog was intended for improve his english skills. I think we’ll find many interesting news and ideas on this page. Here You will be able to read my notes about my admin’s life, about some interesting news […]

The post New administrator’s blog has been founded first appeared on Dmytro Shteflyuk's Home.]]>
My best friend Alexey Kovyrin founded new blog — Homo-Adminus Blog. As he mentioned in our conversation this blog was intended for improve his english skills. I think we’ll find many interesting news and ideas on this page.

Here You will be able to read my notes about my admin’s life, about some interesting news in IT world, maybe some links to interesting web resources.
The post New administrator’s blog has been founded first appeared on Dmytro Shteflyuk's Home.]]>