background preloader

NoLand Eng

Facebook Twitter

Software versioning. Software versioning is the process of assigning either unique version names or unique version numbers to unique states of computer software. Within a given version number category (major, minor), these numbers are generally assigned in increasing order and correspond to new developments in the software. At a fine-grained level, revision control is often used for keeping track of incrementally different versions of electronic information, whether or not this information is computer software. Schemes[edit] A variety of version numbering schemes have been created to keep track of different versions of a piece of software.

Sequence-based identifiers[edit] In sequence-based software versioning schemes, each software release is assigned a unique identifier that consists of one or more sequences of numbers or letters. Change significance[edit] This practice permits users (or potential adopters) to evaluate how much real-world testing a given software release has undergone.

Or For instance: Vertical ProgressBar. Introduction This is a very simple progress bar inherited from System.Windows.Forms.UserControl. The System.Windows.Forms.ProgressBar is only horizontal. And I cannot find a vertical version of a progress bar. I implemented this vertical progress bar with the same behavior as the horizontal progress bar. For my personal purpose, I provided this vertical progress bar with some enhanced features. Code The code is very simple. Public enum Styles { Classic, Solid } public enum BorderStyles { Classic, None } The VerticalProgressBar class is inherited from UserControl class. [Description("Vertical Progress Bar")] [ToolboxBitmap(typeof(ProgressBar))] public sealed class VerticalProgressBar : System.Windows.Forms.UserControl { ... ... } For convenience, all of the vertical progress bar properties are organized into VerticalProgressBar category on the property window of Visual Studio .NET, using Category attribute.

OnPaint function was overridden to draw bar and border if needed. Using the Code. Let's Write Better Software. Technology's been a big part of my life ever since I was a kid. If it wasn’t a console it was a computer, and later came the mobile phone. All these things running on electricity have always interested me. My first mobile phone was a Nokia 5110, which is the only phone that actually never broke. There’s a joke around the net that the old Nokia phones never broke and that’s very true; however they didn’t do much more than calls, sms and snake. When the phones with color displays appeared the mobile vendors noticed that people wanted to switch phones often; as soon as a new feature was released everyone had to have it.

The vendors immediately started pushing out more and more phones, a lot more phones than were actually needed on the market. Since I swapped from my first Nokia phone, I haven’t had a single phone for more than 1 – 2 years. Oh, you’ve got the 2 year old version/model. Consumers have adapted to this, somewhat, and have come to expect rapid updates for software. C#: Programmatically Get the Current DPI Setting « Nick Olsen's Programming Tips. The care and feeding of software engineers (or, why engineers are grumpy) Not too long ago, Jenna Bilotta wrote an excellent article called, How designers and engineers can play nice[1], in which she talks about ways for designers and engineers to work more productively. Having faced similar challenges working with designers (and also working with engineers, when I was on the UI side), I appreciate the pragmatic approach she suggests. It always helps to respect the other role’s process and understand their thinking when working together.

One of her points for engineers was not to say “no” so quickly. That one stuck with me for a while and swam around in my head. My first reaction was, “but you don’t understand why we say no!” And a million other defensive thoughts soon joined in the party. She is right, of course. Our reputation Cards on the table, software engineers generally have a reputation for being arrogant, disagreeable, and moody.

(Side note: There are some who will say that’s not true of all engineers, and you’re right. Creators, not builders. Working with ListView. Working with ListView by Budi Kurniawan co-author of VB.NET Core Classes in a Nutshell 10/28/2002 Anyone using the Windows operating system must be familiar with the Windows Explorer program, the built-in application used for browsing the file system. Depending on which version your Windows is, the Windows Explorer has four or five views.

The four main views are List, Details, SmallIcon and LargeIcon. Windows Explorer is mentioned here because the easiest way to start learning about ListView is to take a close look at your Windows Explorer, especially the four available views. In this article, we first discuss the System.Windows.Forms.ListView and System.Windows.Forms.ListViewItem classes and present two examples of ListView in Details and LargeIcon views.

Later, we write a small program that collects the files and directories in the current directory and displays it in a ListView control. The ListView Class The ListView class resides in the System.Windows.Forms namespace. Counting lines in a string. Download source - 34.4 KB Introduction I needed to know, so I wrote a quick, brute-force-and-ignorance (henceforth known as "BF+I") method to do it: static long LinesCount(string s) { long count = 0; int position = 0; while ((position = s.IndexOf('\n', position)) ! = -1) { count++; position++; } return count; } A quick test, and it works fine.

But then, I thought - isn't that a bit...well...rubbish? Isn't there another way to do it? And sure, there is: I can think of two off the top of my head: Regex and Linq. The input file is 1.64MB, and contains around 23K lines. The methods tried so far: static long LinesCountIndexOf(string s) { long count = 0; int position = 0; while ((position = s.IndexOf('\n', position)) ! The addition of a StreamReader version, which doesn't really fit, but people seem to be suggesting file based solutions: static long LinesCountStream(StreamReader sr) { long count = 0; while (sr.ReadLine() ! They all return the same number of lines, which is fine. Revision History. Proto Advantage - DFN-14 (0.4 mm pitch, 3.0 x 3.0 mm body) Stainless Steel Stencil.

SMT

View topic - HOWTO: Compile SCANTOOL ODBII Code Reader - Debian. This HOWTO: will guide you through the process of Compiling, and installingSCANTOOL from Scantool.net for Debian Linux. How to enable USB-Serial Port adapter (RS-232) in Debian 6.0 (Linux)for the ELMSCAN5 Serial Version ODBII Code Reader.Part Number: 46001Controller: ELM327Hardware Revision 2.2Firmware Revision 1.2AMFG Date: 18 Oct 2007SERIAL PORT or USB Converter:If you don't have a serial port on your Laptop, or want to use a USB port Converter check out the following: The USB to Serial Converter is from and is a N82E16812156008 SABRENT 1 ft. USB to Serialdb9 Male RS-232 (9-pin) Converter Model SBT-USC1M - Retail @ $10.99.

These work wonderful with wvdial, modems, and the Serial ELMSCAN5. INSTALL REQUIRED SOFTWARE FOR COMPILE:Typically you need to install build-essential and the headers for the kernel you are running, if you aregoing to compile code. Code: Select all uname -r will tell you the kernel you are currently running. . larry@ubuntu:~$ lsusb dmesg | taillsusb . #! . Top 10: Oomlout Factory Hacks. Regular readers will be familiar with UK open source hardware kitmakers oomlout. We love their products and link out to them a lot. This post is not about what they sell, however; it’s about what they share. The folks at oomlout are fairly obsessive process engineers, and are constantly hacking, modding, and tweaking their in-house production equipment to make their assembly and packing operations smooth and efficient.

Very often, their custom tools are made from laser-cut parts, and they are always generous about sharing the physibles and other design info for these machines. Here, I’ve rounded up my top ten favorite oomlout small-factory hacks, in arbitrary Sean-thinks-it’s-awesome order. Where we’ve covered the build before, I’ve linked to our own pages. Simple Fume Extractor Dual Monitor Holder Crimp Tool Holder Servo Switch Wire Spool Holder IC Pin Squisher Resistor Cutting Robot Photo Lazy Susan Button Shelves (Pick-to-Light System) Automatic Wire Cutter and Stripper Related. Learn the Basics of Electronics Hacking with SparkFun's Online Curriculum. Since editing my comment creates chaos and havoc for Gawker in general, I'll just reply and state the project doesn't list resistors, either. I'm baffled. Parts: (all Parts are included in the Arduino Starter Kit, or can be obtained individually) Arduino •USB Cable •Red LED •Yellow LED •3 Jumper Wires (Black, Green, Blue) •Breadboard Without digging into the specs of the device, it sounds like they are depending on a current-limited output.

An LED's output is a function of how much current goes through it. The Arduino output, on the other hand, is a current source — it will push up to 20 mA, according to the spec you reported. Another way to look at this is that the 20 mA/pin spec is not "this is how much you are allowed to use and if you pull more, it will fry me"; it's "this is all I can supply and if you try to draw more, I will lower my voltage.

" Minicom. Minicom is a text-based serial port communications program, similar to Cutecom. It is used to talk to external RS232 devices such as mobile phones, routers. It's available for all versions of the Ubuntu family. Links to several specific guides for configuring hardware are detailed in the 'Useful Links' section below. Go to Applications - Accessories - Terminal update the apt cache with sudo apt-get update Install the program with sudo apt-get install minicom Alternatively you can get Minicom via the Synaptic Package Manager. Select Applications-Accessories-Terminal. In order to find the name of your port(s) enter this command in terminal dmesg | grep tty The output will be something like this: What we are interested in is the name of the serial port, in this case ttyS0, which we will need in order to use Minicom.

Sudo minicom -s '-s' is for setup and we need to set up port speed, parity and a few other items. There are also manpages which can be accessed via terminal with man minicom. Solution for Error - section '.udata_main.o' can not fit the section. The Microchip MPLAB C18 linker may give the message Error - section '.udata_main.o' can not fit the section. Section '.udata_main.o' length=0x00000XXX, perhaps with a different section name.

There are several related, but different, causes for this error. If the error refers to a '.code' or '.romdata' section, such as '.code_sralloc.o', this means you're out of code space. There is no software workaround for this. Ensure you have all of the compiler's optimizations enabled; if that doesn't help, you need a bigger PIC or a better compiler. If you have a single object that is 257 bytes or larger, it will trigger this error. If you're using one of the older USB PICs (18F2455, 18F2553, 18F4550, 18F2550, 18F4455, or 18F4553), your problem might be caused by the poorly-written linker script used by these PICs. If none of the above apply, the solution to the error is described below. If you've applied all of the relevant fixes, and you still get the error, it means you're out of RAM. Background. USB IO Board PIC18F2455 / PIC18F2550. USB IO Board can be controlled with just about any serial port emulation program such as Hyper Terminal that comes with every Windows OS.

The problem with Hyper Terminal is that you can't see the commands as you type them and that could be very annoying. With Hyper Terminal you also have to go through the wizard for setting up a serial port connection, and if the COM port changes you pretty much have to do it over and over again. Luckily we have released our own little application called USB IO Board Controller that is so much easier and fun to use than Hyper Terminal. It only takes 25KB of space so it's very lightweight. USB IO Board Controller will also show you COM port of USB IO Board so that will save you the trip (and time) to Device Manager to find out USB IO Board COM port number.

To use USB IO Board Controller select the COM port from the drop down list, type the command and hit "Enter" key (or click on Send button). Download USB IO Board Controller (Win 2K, XP, VISTA, Win7)

OfficePro

NMEA/CAN. Industrial Controls 2. Aqua Gauge. Introduction I have chosen to develop this .NET user control to explore the easy yet powerful .NET GDI+. This simple gauge control developed using .NET 2.0 can cater to the entire range of monitoring purposes. Let's see how to develop such a glossy control using GDI+. Overridden UserControl Methods Normally, If we create user controls that have been fully drawn by the user, we should override the OnPaint and OnPaintBackground methods. The OnPaint and OnPaintBackground methods will be called whenever the control needs to be repainted. OnPaintBackground vs. OnPaintBackground paints the background (and thereby the shape) of the Window and is guaranteed to be fast.

While OnPaintBackground has an event-like nomenclature and takes the same argument as the OnPaint method, OnPaintBackground is not a true event method. Drawing the Guage Dial First, let's see how to draw the dial. Drawing the scale requires calculating the positions for the rules that are to be drawn at the circumference. History.

Barebone Desktop

SBC. GoogleEarth.