Search Results

Search found 39440 results on 1578 pages for 'possible homework'.

Page 535/1578 | < Previous Page | 531 532 533 534 535 536 537 538 539 540 541 542  | Next Page >

  • Who are the thought leaders in software engineering/development? [closed]

    - by Mohsin Hijazee
    Possible Duplicate: What are the big contemporary names in the programming field? I am sorry if it is a duplicate questions or is useless. I want to compile a list of influential people in our industry who can be termed as "opinionated" and thought leaders. There are basically two characteristics that I'm referring to here: The person has introduced new concepts/terminology/trends or talked about existing ones in thought provoking way. Majority or part of the writings are available online. Some of the people who I think as thought leaders are as under: Martin Fowler Known for domain specific languages, Active Record, IoC. Joel Spolsky known for his 12 point Joel test, Law of Leaky abstractions. Kent Beck known for XP. Paul Graham. Any other names and links?

    Read the article

  • SmS Gateways - How do other sites do it? [closed]

    - by chobo2
    Possible Duplicate: Send and Receive SMS from my Website I would love to have a feature on my site that sends Email reminders and SmS(text messages) to people mobile phones. I been searching around and all I am finding is api's that charge money per SmS message(as low as 1cent per message). However even at 1cent per message that is still too much. The amount of money I am charging per year could be servilely eroded by just the Sms messages along. I could of course charge more money for my service or have an add on for SmS messages but I don't think either would work as most people expect it to be free feature and if they have to pay anything that is because of their carrier charging them not the website. How do other sites do it? I guessing companies like google have their own gateway providers or something like that. But how about smaller sites what do they do? I can't see them paying per sms text message.

    Read the article

  • Steam not displaying text on wine 1.5 running on Ubuntu 12.04

    - by Jscags
    Hello fellow dwellers of askubuntu, as the title says I'm having difficulties with getting Steam to run properly. I think I have the solution but I am pretty incompetent with Ubuntu (just started using it the other day) so a step by step process would be unbelievably appreciated! Here are the links to what I think possible solutions are: [1] https://bbs.archlinux.org/viewtopic.php?id=146223 [2] http://bugs.winehq.org/show_bug.cgi?id=31374 I've tried googling how to preform the solutions such as changing the alias/script for steam (no idea what that is) to -no-dwrite or launching with wine Steam.exe -no-dwrite. The dwrite seems to be the issue in all this but I can't for the life of me figure out how to do anything about it. Any useful input is what I'm hoping for but for the brave soul who feels like typing a bit more, perhaps a step-by-step list of instructions starting from downloading Steam off the official website, would be my saving grace. If there is any more info you guys need let me know and I'll of course be happy to oblige!

    Read the article

  • .htaccess redirect to subfolder in different domain, maintaining old domain in the URL

    - by Naoise Golden
    Redirect has been widely discussed and most problems solved, so I am sorry for opening yet another post about this, but none of the codes I am trying work. I have a WordPress site hosted in http://mydomain.com/clientsdomain.com/wordpress I would like to temporarily redirect http://clientsdomain.com/ to the abovementioned URL, maintaining the clientsdomain.com domain in the URL. So for example http://clientsdomain.com/some/page would be pointing to http://mydomain.com/clientsdomain.com/wordpress/some/page Is this even possible with .htaccess? Maybe som configuration or plugin option with WordPress?

    Read the article

  • L'iPad disponible dans 9 pays dont la France le 28 mai mais pas avant juillet pour d'autres, dont la

    Aujourd'hui, Apple a confirmé, malgré le fait qu'il semble bien que l'iPad soit difficilement trouvable aux Etats-Unis, que l'iPad sera disponible dès le 28 mai dans 9 autres pays, dont France, le Canada et la Suisse. (mais aussi l'Australie, l'Allemagne, l'Italie, l'Espagne, le Royaume-Unis et le Japon). Les prix seront dévoilé ce lundi 10 mai sur l'Apple Store, où il sera également possible de les pré-commander. Dans cette même annonce, Apple annonce que l'iPad sera également lancé dans 9 autres pays, dont la Belgique. Mais ceux-ci devront patienter jusqu'au mois de Juillet pour cela. Source : http://www.apple.com/pr/library/2010/05/07ipad.html...

    Read the article

  • Mouse pointer hides at bad times after updating to 13.10

    - by Richard
    A bug, I think, though I can't even seem to find any information when searching for it. The mouse pointer hides itself, but it is still possible to use it. Whenever I start watching a video in VLC, or start playing KSP through Steam my mouse pointer disappears. It is not returned upon exiting the application. I have not tried with other games in Steam. The mouse pointer do not disappear when watching videos online through YouTube, though it properly hides itself after a few seconds. The bug came about after I updated to 13.10, it was not present with the same setup in 13.04. I have tried removing ~/.compiz and restarting the kernel module psmouse. Going to tty1 and back to the desktop reveals the pointer, though this fix is bothering me. How do I fix this problem?

    Read the article

  • Is there a White / Blank Canvas E-Commerce Platform to Integrate into Existing Site? [closed]

    - by beta208
    Possible Duplicate: Which Ecommerce Script Should I Use? Our website is built we're interested in adding a Store to the site. Essentially, there is a global header, and a global footer, and in between is a white expandable div. We'd like our store to fit between the header and footer (and preferably be 960px wide). Do you know of any store platform built to live between the header/footer for situations like this? We really want a full store, not just paypal buy buttons. We'd like it to have a shop backend (CMS-like) with full tracking, etc. Can be paid or unpaid, and preferably hosted by us, but either might be applicable (if iframe or alternative works securely?). This would need to feature over 100 items. If authorize.net is supported that is a plus.

    Read the article

  • Adding an existing Control Domain to a Server Pool

    - by Owen Allen
    I got a question about LDoms: "Is it possible to move a Control Domain built through Ops Center with pre-existing LDoms into a server pool? If so, do I need to delete and recreate anything?" Yes, you can do this. You have to stop the LDom guests, and then you can add the CDom to a Server Pool. If the guests are using shared storage, you should be able to bring them up in the Server Pool. If the guests are not on shared storage, you can use the Migrate Storage option to bring their storage in.

    Read the article

  • Putting Ubuntu Server on to a networked HDD

    - by SimplySimon
    Firstly, I know very little about servers and secondly the 1Tb HDD I have has network capabilities, but no software is installed on it, so when connected to the computer it is seen as a network connection, but not as a drive. Any advice on how to get started would be great. Up until now, I have been using it as a USB drive which worked well, but when this is sorted, I would like it to be connected directly to our BT HomeHub accessible through the WiFi for all the family to use as a film and back up repository. I would then be able to set up individual accounts for each family member to use and may be, if possible, make it accessible from outside locations. The First question then is: How can I install Ubuntu server on the 1Tb HDD attached directly to the computers network port but which doesn't show up in Nautilus? HDD Western Digital 1.0Tb LBA 1953525168 Model: WD10EACS-00DB0 DCM: DHRNHT2CF

    Read the article

  • Now you can design ADF applications that look like Fusion Apps

    - by Grant Ronald
    One possible failure point in ADF applications (and I’ve seen happen) is getting Web designers to build the UI without any knowledge of what ADF does.  The resulting design may look pretty but might be virtually impossible to implement using ADF. To help address this Oracle have released a set of Visio templates which help guide you in “Fusion”/ADF look and feel.  I’ve been lucky enough to have some of our usability teams mock up these templates for some ADF projects I’ve been working on and they are a great help in conceptualising the final applications. You can find out more about these Visio ADF templates here.

    Read the article

  • bluetooth between ubuntu 10.10 and nokia error : Could not display "obex://"

    - by MobileDev123
    Hi, I have paired my nokia 3110c via bt on my pc, I can receive a file from my pc to the phone, but I can not browse the contents of phone from my computer. Here is the error message Error: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken. Please select another viewer and try again. How can I transfer contents from my phone to my computer?

    Read the article

  • The design of a generic data synchronizer, or, an [object] that does [actions] with the aid of [helpers]

    - by acheong87
    I'd like to create a generic data-source "synchronizer," where data-source "types" may include MySQL databases, Google Spreadsheets documents, CSV files, among others. I've been trying to figure out how to structure this in terms of classes and interfaces, keeping in mind (what I've read about) composition vs. inheritance and is-a vs. has-a, but each route I go down seems to violate some principle. For simplicity, assume that all data-sources have a header-row-plus-data-rows format. For example, assume that the first rows of Google Spreadsheets documents and CSV files will have column headers, a.k.a. "fields" (to parallel database fields). Also, eventually, I would like to implement this in PHP, but avoiding language-specific discussion would probably be more productive. Here's an overview of what I've tried. Part 1/4: ISyncable class CMySQL implements ISyncable GetFields() // sql query, pdo statement, whatever AddFields() RemFields() ... _dbh class CGoogleSpreadsheets implements ISyncable GetFields() // zend gdata api AddFields() RemFields() ... _spreadsheetKey _worksheetId class CCsvFile implements ISyncable GetFields() // read from buffer AddFields() RemFields() ... _buffer interface ISyncable GetFields() AddFields($field1, $field2, ...) RemFields($field1, $field2, ...) ... CanAddFields() // maybe the spreadsheet is locked for write, or CanRemFields() // maybe no permission to alter a database table ... AddRow() ModRow() RemRow() ... Open() Close() ... First Question: Does it make sense to use an interface, as above? Part 2/4: CSyncer Next, the thing that does the syncing. class CSyncer __construct(ISyncable $A, ISyncable $B) Push() // sync A to B Pull() // sync B to A Sync() // Push() and Pull() only differ in direction; factor. // Sync()'s job is to make sure that the fields on each side // match, to add fields where appropriate and possible, to // account for different column-orderings, etc., and of // course, to add and remove rows as necessary to sync. ... _A _B Second Question: Does it make sense to define such a class, or am I treading dangerously close to the "Kingdom of Nouns"? Part 3/4: CTranslator? ITranslator? Now, here's where I actually get lost, assuming the above is passable. Sometimes, two ISyncables speak different "dialects." For example, believe it or not, Google Spreadsheets (accessed through the Google Data API "list feed") returns column headers lower-cased and stripped of all spaces and symbols! That is, sys_TIMESTAMP is systimestamp, as far as my code can tell. (Yes, I am aware that the "cell feed" does not strip the name so; however cell-by-cell manipulation is too slow for what I'm doing.) One can imagine other hypothetical examples. Perhaps even the data itself can be in different "dialects." But let's take it as given for now, and not argue this if possible. Third Question: How would you implement "translation"? Note: Taking all this as an exercise, I'm more interested in the "idealized" design, rather than the practical one. (God knows that shipped sailed when I began this project.) Part 4/4: Further Thought Here's my train of thought to demonstrate I've thunk, albeit unfruitfully: First, I thought, primitively, "I'll just modify CMySQL::GetFields() to lower-case and strip field names so they're compatible with Google Spreadsheets." But of course, then my class should really be called, CMySQLForGoogleSpreadsheets, and that can't be right. So, the thing which translates must exist outside of an ISyncable implementor. And surely it can't be right to make each translation a method in CSyncer. If it exists outside of both ISyncable and CSyncer, then what is it? (Is it even an "it"?) Is it an abstract class, i.e. abstract CTranslator? Is it an interface, since a translator only does, not has, i.e. interface ITranslator? Does it even require instantiation? e.g. If it's an ITranslator, then should its translation methods be static? (I learned what "late static binding" meant, today.) And, dear God, whatever it is, how should a CSyncer use it? Does it "have" it? Is it, "it"? Who am I? ...am I, "I"? I've attempted to break up the question into sub-questions, but essentially my question is singular: How does one implement an object A that conceptually "links" (has) two objects b1 and b2 that share a common interface B, where certain pairs of b1 and b2 require a helper, e.g. a translator, to be handled by A? Something tells me that I've overcomplicated this design, or violated a principle much higher up. Thank you all very much for your time and any advice you can provide.

    Read the article

  • What steps should be taken to make sure your software is usable by disabled people?

    - by Cromulent
    I want to make sure a piece of software I am writing is usable by people with various disabilities such as blindness and an inability to use a mouse and / or keyboard. Unfortunately I have no experience with things such as screen readers or other methods that disabled people use to make using a computer easier / possible. I've never really had much experience with disabilities at all and unfortunately I don't know any disabled people who I can ask. I was wondering what other people do to make sure that their software is available to a wide range of people with varying abilities? This seems to be a subject matter that is often ignored by developers and I think it is a real shame.

    Read the article

  • Selective bandwidth shaping

    - by the_candyman
    I was searching something for bandwidth shaping. I found trickled and wondershaper which works on the total bandwidth. I would like to know if there exists a selective bandwidth shaping. I mean, I run 2 application which uses internet. I would like to limit the bandwidth of one of these 2 in real time (just like a sound equalizer). For example, I'm downloading something. Meanwhile, someone calls me on skype. So I want to slow the downloading to have more band in my video calling. Is this possible?

    Read the article

  • 2D fighting bounding boxes

    - by user36420
    I'm prototyping a 2D platformer/brawler game for uni and I'm having some trouble with creating collision/bounding boxes. This is most likely going to end up on a Vita so I do have some library constraints as well as performance implications. None of this has yet been implemented but is all theory. My idea was to have the artist create a sprite sheet for the character animation and then a second identical sprite sheet with the corresponding collisions in a solid colour (e.g green for where the character can be hit and red for dealing damage, near the foot if kicking etc.) With this, I would then parse the collision sheet and generate the various collisions required storing them in the character model. This is the point I feel would be most inefficient. While I think this is a possible solution, I was wondering if there was a more standard way of doing this or a more efficient way as I feel this would have severe performance problems.

    Read the article

  • Hibernation is still missing from menu in 13.10 after enabling via polkit. How to enable?

    - by LiveWireBT
    I know that since 12.04, we need to add a policykit rule to enable hibernation (see question How to enable hibernation? and the Official Documentation). I can successfully bring my laptop into hibernation mode with sudo pm-hibernate or sudo s2disk, so the rule is in place and works, but the hibernation entry is still missing in the menu. I can tell from looking through the source of the indicator-session package (but not understanding the whole code) that there is still a hibernation menu entry in the code and it should be displayed when the system is capable of hibernating. Please calm down if you're enraged by this. This is very unlikely to be a conspiracy, but rather a bug/regression on a deeper level, which can happen when you move code around or replace it. Question: What needs to be done in 13.10 to properly tell indicator-session that the system can hibernate? Possible duplicate: Hibernation still not available - No activity, because saucy was in development at that time, so out of scope for AskUbuntu. Related bug report: https://bugs.launchpad.net/ubuntu/+source/indicator-session/+bug/1232814

    Read the article

  • Google Analytics - bad experiences? (esp. adult content)

    - by Litso
    Hello all, I work for a rather large adult website, and we're currently not using Google Analytics. There is an internal debate going on about whether we should start using Analytics, but there is hestitation from certain parties. The main argument is that they fear that Google will get too much insight into our website, and might even block us from the index as a result based on our adult content. Has anyone here ever had such an experience, or know stories about bad experiences with Google Analytics in such a manner? I personally think it will only improve our website if we were able to use Analytics, but the dev team was asked to look into possible negative effects. Any help would be appreciated.

    Read the article

  • Custom page sizes in paging dropdown in Telerik RadGrid

    Working with Telerik RadControls for ASP.NET AJAX is actually quite easy and the initial effort to get started with the control suite is very low. Meaning that you can easily get good result with little time. But there are usually cases where you have to go a little further and dig a little bit deeper than the standard scenarios. In this article I am going to describe how you can customize the default values (10, 20 and 50) of the drop-down list in the paging element of RadGrid. Get control over the displayed page sizes while using numeric paging... The default page sizes are good but not always good enough The paging feature in RadGrid offers you 3, well actually 4, possible page sizes in the drop-down element out-of-the box, which are 10, 20 or 50 items. You can get a fourth option by specifying a value different than the three standards for the PageSize attribute, ie. 35 or 100. The drawback in that case is that it is the initial page size. Certainly, the available choices could be more flexible or even a little bit more intelligent. For example, by taking the total count of records into consideration. There are some interesting scenarios that would justify a customized page size element: A low number of records, like 14 or similar shouldn't provide a page size of 50, A high total count of records (ie: 300+) should offer more choices, ie: 100, 200, 500, or display of all records regardless of number of records I am sure that you might have your own requirements, and I hope that the following source code snippets might be helpful. Wiring the ItemCreated event In order to adjust and manipulate the existing RadComboBox in the paging element we have to handle the OnItemCreated event of RadGrid. Simply specify your code behind method in the attribute of the RadGrid tag, like so: <telerik:RadGrid ID="RadGridLive" runat="server" AllowPaging="true" PageSize="20"    AllowSorting="true" AutoGenerateColumns="false" OnNeedDataSource="RadGridLive_NeedDataSource"    OnItemDataBound="RadGrid_ItemDataBound" OnItemCreated="RadGrid_ItemCreated">    <ClientSettings EnableRowHoverStyle="true">        <ClientEvents OnRowCreated="RowCreated" OnRowSelected="RowSelected" />        <Resizing AllowColumnResize="True" AllowRowResize="false" ResizeGridOnColumnResize="false"            ClipCellContentOnResize="true" EnableRealTimeResize="false" AllowResizeToFit="true" />        <Scrolling AllowScroll="true" ScrollHeight="360px" UseStaticHeaders="true" SaveScrollPosition="true" />        <Selecting AllowRowSelect="true" />    </ClientSettings>    <MasterTableView DataKeyNames="AdvertID">        <PagerStyle AlwaysVisible="true" Mode="NextPrevAndNumeric" />        <Columns>            <telerik:GridBoundColumn HeaderText="Listing ID" DataField="AdvertID" DataType="System.Int32"                SortExpression="AdvertID" UniqueName="AdvertID">                <HeaderStyle Width="66px" />            </telerik:GridBoundColumn>             <!--//  ... and some more columns ... -->         </Columns>    </MasterTableView></telerik:RadGrid> To provide a consistent experience for your visitors it might be helpful to display the page size selection always. This is done by setting the AlwaysVisible attribute of the PagerStyle element to true, like highlighted above. Customize the values of page size Your delegate method for the ItemCreated event should look like this: protected void RadGrid_ItemCreated(object sender, GridItemEventArgs e){    if (e.Item is GridPagerItem)    {        var dropDown = (RadComboBox)e.Item.FindControl("PageSizeComboBox");        var totalCount = ((GridPagerItem)e.Item).Paging.DataSourceCount;        var sizes = new Dictionary<string, string>() {            {"10", "10"},            {"20", "20"},            {"50", "50"}        };        if (totalCount > 100)        {            sizes.Add("100", "100");        }        if (totalCount > 200)        {            sizes.Add("200", "200");        }        sizes.Add("All", totalCount.ToString());        dropDown.Items.Clear();        foreach (var size in sizes)        {            var cboItem = new RadComboBoxItem() { Text = size.Key, Value = size.Value };            cboItem.Attributes.Add("ownerTableViewId", e.Item.OwnerTableView.ClientID);            dropDown.Items.Add(cboItem);        }        dropDown.FindItemByValue(e.Item.OwnerTableView.PageSize.ToString()).Selected = true;    }} It is important that we explicitly check the event arguments for GridPagerItem as it is the control that contains the PageSizeComboBox control that we want to manipulate. To keep the actual modification and exposure of possible page size values flexible I am filling a Dictionary with the requested 'key/value'-pairs based on the number of total records displayed in the grid. As a final step, ensure that the previously selected value is the active one using the FindItemByValue() method. Of course, there might be different requirements but I hope that the snippet above provide a first insight into customized page size value in Telerik's Grid. The Grid demos describe a more advanced approach to customize the Pager.

    Read the article

  • How to access / query Team Foundation Server 2012 with Odata?

    - by cseder
    I've tried to find a solution for this for hours now, and I'm getting the same results in the end, asking me to install a lot of Azure and other stuff, plus running some example project .sln that I can't open with my 2012 version of Visual Studio. So, I'm pretty much stuck, and have some pretty straight forward questions regarding this: Does TFS 2012 include the Odata service in any way, so that I don't have to install it? If not, how can I install a NATIVE 2012 version of the Odata service for TFS 2012? Is it possible that I'm aiming for the wrong target here? I'm looking for a solution to the following: I have a TFS 2012 Server that I need to be able to create Work Items on programatically, based on data from our Help Desk system. Then I need to query these Work Items for changed status since its creation, and update the Help Desk Database. Am I better off using the "regular" TFS API? I was kinda thinking that the Odata way was more "future proof", but I'm not sure...

    Read the article

  • How to start vnc server on-demand (not on boot)

    - by QRohlf
    I have a vps which has the basic xfce environment & tightvncserver installed. I would like to have tightvncserver automatically start whenever I initiate a connection to the port it runs on (in my case, 5901). I've seen posts about using inetd or xinetd to do this, but I've also seen lots of posts saying that (x)inetd is not included in Ubuntu for a reason, and that it's a bad idea to use it. Anyways, I'm looking for a way to auto-start tightvncserver whenever there's an incoming connection to port 5901, preferably with as few dependencies as possible

    Read the article

  • How to make read-only file system writable?

    - by Tim
    I am not sure since when the filesystem on my digital audio player has been changed to be read-only. I cannot copy files into it or remove files on it. Are there some possible reasons for the player's file system to change the permission of its file system? I tried chmod: $ sudo chmod a+rw SGTL\ MSCN/ chomd: changing permissions of `SGTL MSCN/': Read-only file system where "SGTL MSCN" is the mounted point of the digital audio player. I was wondering how to make it writable? Thanks and regards!

    Read the article

  • Wireless problems on HP

    - by Sat93
    I'm not able to enable Wireless using the hardware switch on my HP ProBook4430s. Because of this the Enable Wireless option is greyd out and I cannot enable it. The greyd out option can be seen in the screenshot below. The results of iwconfig for my system are as follows, lo no wireless extensions. wlan0 IEEE 802.11bgn ESSID:off/any Mode:Managed Access Point: Not-Associated Tx-Power=off Retry long limit:7 RTS thr:off Fragment thr:off Power Management:off eth0 no wireless extensions. Also I tried to do the following, sudo ifconfig wlan0 up but I got an error as below, SIOCSIFFLAGS: Operation not possible due to RF-kill Also the result of sudo rfkill list all for my system is as follows, 0: phy0: Wireless LAN Soft blocked: no Hard blocked: yes 1: hp-wifi: Wireless LAN Soft blocked: no Hard blocked: no 2: hp-bluetooth: Bluetooth Soft blocked: no Hard blocked: no 3: hci0: Bluetooth Soft blocked: no Hard blocked: no How do I fix this problem? Thanku!

    Read the article

  • Windows Azure HPC Scheduler Architecture

    - by Churianov Roman
    So far I've found very little information on the scheduling policy, resource management policy of Azure HPC Scheduler. I would appreciate any kind of information regarding some of these questions: What scheduling policy does a Head Node use to scatter jobs to Compute Nodes? Does Azure Scheduler use prior information about the jobs (compute time, memory demands ...) ? If 'yes', how it gets this information? Does Azure Scheduler split a job into several parallel jobs on one Compute node? Does it have any protection from Compute Node failures? (what it does when a compute node stops responding) Does it support addition/subtraction of Compute nodes? Is it possible to cancel a job? P.S. I'm aware of the MSDN resource Windows Azure HPC Scheduler. I found only information of how to use this Scheduler but almost nothing about how it works inside.

    Read the article

  • Can SSL Wildcards have multiple/nested levels of wildcard?

    - by Don Faulkner
    I know that an SSL wildcard certificate (*.example.org) can be used to support many names under the domain (a.example.org, b.example.org, c.example.org). I also know that the * is only good for matching a single level of name. That is, *.example.org will not work on a.b.example.org. What if I used a certificate with the name ..example.org? I'd like to build a certificate with the following name configuration: CN=example.org subjectAltName=DNS:example.org, DNS:*.example.org, DNS:*.*.example.org, DNS:*.*.*.example.org I've tried building a few like this as self-signed certificates, but I've not had good results. For example, chrome tells me "Server's certificate does not match the URL." Is it possible to have nested wildcards in a certificate, or do the popular browsers not support this?

    Read the article

  • How can I estimate the entropy of a password?

    - by Wug
    Having read various resources about password strength I'm trying to create an algorithm that will provide a rough estimation of how much entropy a password has. I'm trying to create an algorithm that's as comprehensive as possible. At this point I only have pseudocode, but the algorithm covers the following: password length repeated characters patterns (logical) different character spaces (LC, UC, Numeric, Special, Extended) dictionary attacks It does NOT cover the following, and SHOULD cover it WELL (though not perfectly): ordering (passwords can be strictly ordered by output of this algorithm) patterns (spatial) Can anyone provide some insight on what this algorithm might be weak to? Specifically, can anyone think of situations where feeding a password to the algorithm would OVERESTIMATE its strength? Underestimations are less of an issue. The algorithm: // the password to test password = ? length = length(password) // unique character counts from password (duplicates discarded) uqlca = number of unique lowercase alphabetic characters in password uquca = number of uppercase alphabetic characters uqd = number of unique digits uqsp = number of unique special characters (anything with a key on the keyboard) uqxc = number of unique special special characters (alt codes, extended-ascii stuff) // algorithm parameters, total sizes of alphabet spaces Nlca = total possible number of lowercase letters (26) Nuca = total uppercase letters (26) Nd = total digits (10) Nsp = total special characters (32 or something) Nxc = total extended ascii characters that dont fit into other categorys (idk, 50?) // algorithm parameters, pw strength growth rates as percentages (per character) flca = entropy growth factor for lowercase letters (.25 is probably a good value) fuca = EGF for uppercase letters (.4 is probably good) fd = EGF for digits (.4 is probably good) fsp = EGF for special chars (.5 is probably good) fxc = EGF for extended ascii chars (.75 is probably good) // repetition factors. few unique letters == low factor, many unique == high rflca = (1 - (1 - flca) ^ uqlca) rfuca = (1 - (1 - fuca) ^ uquca) rfd = (1 - (1 - fd ) ^ uqd ) rfsp = (1 - (1 - fsp ) ^ uqsp ) rfxc = (1 - (1 - fxc ) ^ uqxc ) // digit strengths strength = ( rflca * Nlca + rfuca * Nuca + rfd * Nd + rfsp * Nsp + rfxc * Nxc ) ^ length entropybits = log_base_2(strength) A few inputs and their desired and actual entropy_bits outputs: INPUT DESIRED ACTUAL aaa very pathetic 8.1 aaaaaaaaa pathetic 24.7 abcdefghi weak 31.2 H0ley$Mol3y_ strong 72.2 s^fU¬5ü;y34G< wtf 88.9 [a^36]* pathetic 97.2 [a^20]A[a^15]* strong 146.8 xkcd1** medium 79.3 xkcd2** wtf 160.5 * these 2 passwords use shortened notation, where [a^N] expands to N a's. ** xkcd1 = "Tr0ub4dor&3", xkcd2 = "correct horse battery staple" The algorithm does realize (correctly) that increasing the alphabet size (even by one digit) vastly strengthens long passwords, as shown by the difference in entropy_bits for the 6th and 7th passwords, which both consist of 36 a's, but the second's 21st a is capitalized. However, they do not account for the fact that having a password of 36 a's is not a good idea, it's easily broken with a weak password cracker (and anyone who watches you type it will see it) and the algorithm doesn't reflect that. It does, however, reflect the fact that xkcd1 is a weak password compared to xkcd2, despite having greater complexity density (is this even a thing?). How can I improve this algorithm? Addendum 1 Dictionary attacks and pattern based attacks seem to be the big thing, so I'll take a stab at addressing those. I could perform a comprehensive search through the password for words from a word list and replace words with tokens unique to the words they represent. Word-tokens would then be treated as characters and have their own weight system, and would add their own weights to the password. I'd need a few new algorithm parameters (I'll call them lw, Nw ~= 2^11, fw ~= .5, and rfw) and I'd factor the weight into the password as I would any of the other weights. This word search could be specially modified to match both lowercase and uppercase letters as well as common character substitutions, like that of E with 3. If I didn't add extra weight to such matched words, the algorithm would underestimate their strength by a bit or two per word, which is OK. Otherwise, a general rule would be, for each non-perfect character match, give the word a bonus bit. I could then perform simple pattern checks, such as searches for runs of repeated characters and derivative tests (take the difference between each character), which would identify patterns such as 'aaaaa' and '12345', and replace each detected pattern with a pattern token, unique to the pattern and length. The algorithmic parameters (specifically, entropy per pattern) could be generated on the fly based on the pattern. At this point, I'd take the length of the password. Each word token and pattern token would count as one character; each token would replace the characters they symbolically represented. I made up some sort of pattern notation, but it includes the pattern length l, the pattern order o, and the base element b. This information could be used to compute some arbitrary weight for each pattern. I'd do something better in actual code. Modified Example: Password: 1234kitty$$$$$herpderp Tokenized: 1 2 3 4 k i t t y $ $ $ $ $ h e r p d e r p Words Filtered: 1 2 3 4 @W5783 $ $ $ $ $ @W9001 @W9002 Patterns Filtered: @P[l=4,o=1,b='1'] @W5783 @P[l=5,o=0,b='$'] @W9001 @W9002 Breakdown: 3 small, unique words and 2 patterns Entropy: about 45 bits, as per modified algorithm Password: correcthorsebatterystaple Tokenized: c o r r e c t h o r s e b a t t e r y s t a p l e Words Filtered: @W6783 @W7923 @W1535 @W2285 Breakdown: 4 small, unique words and no patterns Entropy: 43 bits, as per modified algorithm The exact semantics of how entropy is calculated from patterns is up for discussion. I was thinking something like: entropy(b) * l * (o + 1) // o will be either zero or one The modified algorithm would find flaws with and reduce the strength of each password in the original table, with the exception of s^fU¬5ü;y34G<, which contains no words or patterns.

    Read the article

< Previous Page | 531 532 533 534 535 536 537 538 539 540 541 542  | Next Page >