Dimitry Zolotaryov
Posts
The following error came up on a project built on Django and MySQL:
“Warning: Field ‘id’ doesn’t have a default value”
At first, it seemed as though Django was responsible. However, a quick Google search proved this was an issue with MySQL.
Some solutions returned by the search required the programmer/administrator to export and recreate the database, but the solution proved a lot more simple. For a table named auth_user, the following MySQL command fixes the above error message:
ALTER TABLE auth_user MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
The above command resets the ID field of the auth_user table to an auto-incremented integer of length 11.
Google+ may not be Facebook or Twitter but it still has steam. Today, the Plus team released Google+ Pages. Very much like Facebook Pages, Google+ Pages allow your business to broadcast itself and connect with followers via the Circles functionality.
For more on this new feature, check out Google’s own press release below.
http://googleblog.blogspot.com/2011/11/google-pages-connect-with-all-things.html
Pages are not open for everyone yet. Send your email to info@webit.ca and we’ll notify you when they are ready.
Update
After two months of loving labor, the new enRoute Dining Guide app is up on iTunes. Be sure to check it out and download yourself a copy.
Download the enRoute Eats iPhone app.
Content by: Sarah Steinberg (enRoute Online)
Design by: Adrian Kronowetter (Land of Visions)
Development by: Dimitry Zolotaryov (WebIT.ca)
The following terminal command is great for finding those large, hidden files on your hard drive:
cd / && sudo find . -size +1024k -ls
Substitute 1024 with a size you consider big for a file (in kilobytes). In the example, the command sequence will find all files over a megabyte in size.
In the latest iPhone app, it was necessary for a particular view to grow or shrink with respect to its visible subviews. Bellow is a quick snippet from a class called VariableHeightView, a subclass of UIView.
- (CGRect)frame
{
CGRect frame = [super frame];
float height = 0.0f;
for (UIView *asubview in self.subviews) {
if (![asubview isHidden]) {
float subviewBottom = asubview.frame.size.height
+ asubview.frame.origin.y;
if (subviewBottom > height) {
height = subviewBottom;
}
}
}
CGRect newFrame = CGRectMake(frame.origin.x, frame.origin.y,
frame.size.width, height);
return newFrame;
}The code is fairly simple. For a view built using the Interface Builder, the VariableHeightView’s (a superview) frame function will iterative over all subviews, looking for the one lowest in the screen. Once found, it will expand to match that sub-view’s Y origin plus height.
The drawRect function of UIView will take care of rendering the VariableHeightView using the dimension of the frame function.
The array_remove and array_remove_assoc PHP functions allow your code to remove an element from an array (or associative array) given the element’s value. See the comments in the code bellow on how to use the two functions.
<?php /** * Removes the given value from the given array. * * Returns either FALSE if the value was not found in the array * or the index at which the value was found and removed. * * $array = array('a', 'b', 'c', 'd'); * assert( array_remove( 'b', $array ) == 1 ); * assert( array( 'a', 'c', 'd' ) == $array ); * assert( array_remove( 'z', $array ) === false ); * assert( array( 'a', 'c', 'd' ) == $array ); * * @param mixed $val The value to remove * @param array $array The array from which to remove the value * @author Dimitry Zolotaryov, http://webit.ca * @returns FALSE or the index at which the value was found */ function array_remove( $val, &$array ) { foreach ( $array as $i => $v ) { if ( $v == $val ) { array_splice( $array, $i, 1 ); return $i; } } return false; } /** * Removes the given value from the given associative array. * * Returns either FALSE if the value was not found in the array * or the key at which the value was found and removed. * * $array2 = array( 'a' => 1, 'b' => 2, 'c' => 3, 'd' => 4 ); * assert( array_remove_assoc( 1, $array2 ) == 'a' ); * assert( array( 'b' => 2, 'c' => 3, 'd' => 4 ) == $array2 ); * * @param mixed $val The value to remove * @param array $array The associative array from which to remove the value * @author Dimitry Zolotaryov, http://webit.ca * @returns FALSE or the index at which the value was found */ function array_remove_assoc( $val, &$array ) { foreach ( $array as $key => $value ) { if ( $value == $val ) { unset( $array[ $key ] ); return $key; } } return false; }
Definition:
To be voted on in Google+
Past tense of the verb To Plus. eg. “I plus’d you on Google+”
Synonyms:
Plus One’d, One Plus’d
A recent interview I did for Web Central Station.
So your Firefox web browser refuses to load a page? Perhaps you’ve recently updated to the latest Firefox and now things don’t work as you expected. Bellow is a list of solutions that I use when Firefox won’t load a page.
1) Clear the cache and reload the page (Ctrl + Shift + R).
2) Disable all your Add-Ons. Check if the webpage loads. If it does, then one of the Add-Ons is at fault. Start re-enabling them one by one until you find the culprit. For more, see the Firefox Add-On troubleshooting page.
3) The problem is a browser misconfiguration or some problem with the installation, perhaps. Download another copy of Firefox, uninstall your current version (back up those bookmarks!) and install the downloaded version (Add-Ons will have to be re-installed afterward).
Hope these tips help you resolve your Firefox page loading issues.
Updates
-
@TheHardBytes Great! Too much choice for Android devices/TVs, little to set them apart ( http://t.co/976A4Kmx ). What's the news in gaming?10 days ago from web | Reply, Retweet, Favorite
-
@TheHardBytes seems like that's the future for all distributable entertainment. Books, movies, games, music. You name it, it's digital.13 days ago from web | Reply, Retweet, Favorite
-
At @rhokMtl with @LieslBarrell . Day 1, code-on!2 months ago from web | Reply, Retweet, Favorite
-
'What does "done" look like?' Don't start a project until you answer this question. @MTLGirlGeeks #TELUShosting
-
Random Hacks of Kindness in Montreal. Join an enthusiastic team of professionals and build something great: http://t.co/vW50GX0b, @mtlpy2 months ago from web | Reply, Retweet, Favorite
-
My very first interview on Web Central Station. http://t.co/sd3bp5k8 months ago from web | Reply, Retweet, Favorite
-
Ever heard of a study wherein those who unknowingly paid more for a item than others experience a diff emotional reaction towards said item?8 months ago from web | Reply, Retweet, Favorite
-
8 months ago from web | Reply, Retweet, Favorite
-
O-pacity! You animate worse than every other property.8 months ago from web | Reply, Retweet, Favorite
-
Serif fonts are great. But please up the font size to 15+ http://bit.ly/l1QyDY8 months ago from web | Reply, Retweet, Favorite
-
Concrete tent! http://www.bbc.co.uk/news/technology-134307478 months ago from web | Reply, Retweet, Favorite
-
Monopoly introduced digital currency; indebted players no longer "in-touch" with their means default on their Park avenue property.8 months ago from web | Reply, Retweet, Favorite
-
TV.com shows a "connect with Facebook" overlay when loading any inside page (http://www.tv.com/watch_episodes).8 months ago from web | Reply, Retweet, Favorite
-
Hotmail is broken. That will teach me to use hotmail.9 months ago from web | Reply, Retweet, Favorite
-
Flavors.me becomes a musician's refuge from MySpace. Includes artists like OK Go http://flavors.me/okgo9 months ago from web | Reply, Retweet, Favorite
-
Best sampling of Chic's My Fobidden Lover: Luther Vandross's Shine http://bit.ly/3oa8mv or Blk I Peas' Fashion Beats http://bit.ly/eCpmkm?11 months ago from web | Reply, Retweet, Favorite
-
Leveled up on Stackoverflow.11 months ago from web | Reply, Retweet, Favorite
-
Safari online books free for 25 days: http://www.safaribooksonline.com/B2BCampaign/0211/OpenHouseITsyscon/?cid=0111B2B-OpenHouse-IT-syscon12 months ago from web | Reply, Retweet, Favorite
-
EvoTune gets TheGazette mention. Win! http://bit.ly/eJHjpg12 months ago from web | Reply, Retweet, Favorite
-
EvoTune just won Most Rhythmic App at Google's Montreal Hackathon http://evotune.appspot.com/12 months ago from web | Reply, Retweet, Favorite
Profile
Summary
And all this experience has taught me one thing: web development is needlessly convoluted. It's 2011; websites are not that hard.
My approach is simple: be honest and be pragmatic. I only sell what I can build and I work with talented designers, copy-writers and translators. My costs are low because my tools are smart and I don't even charge overhead for my fancy German car; I take the bus.
Experience
- Jul 2008 - PresentFounder / WebIT.ca
- Feb 2010 - Nov 2010Project Owner/Responsable de projet / Le site
- Mar 2008 - Jan 2010Lead Developer / HighTouch Communications
- Jan 2006 - Mar 2008Senior Developer / AskMen.com
- 2004 - 2005Wed Developer / entechnevision.com
Additional Information
Python and PHP developer living in Montreal. My site.